elm*_*elm 6 go string-interpolation
尝试int使用%v格式化程序将值插入到字符串中,如下所示,但没有打印任何内容,
package main
import "fmt"
func inc(i int) int {
return i + 1
}
func main() {
fmt.Sprintln("inc 1 equal %v", inc(1))
}
Run Code Online (Sandbox Code Playgroud)
如何插入一个int值?
Tho*_*mas 18
fmt.Sprintln返回 a String,但不打印任何内容。(该名称取自同样容易混淆的 C 函数sprintf。)
您需要的是Printf,但您必须自己添加换行符:
fmt.Printf("inc 1 equal %v\n", inc(1))
Run Code Online (Sandbox Code Playgroud)
Sprintln 使用其操作数的默认格式进行格式化并返回结果字符串。操作数之间始终添加空格并附加换行符。
Sprint格式化一个字符串并返回这样一个字符串,它什么也不写。您正在寻找的是Print
此外,该变体ln不解析%,它仅在字符串末尾添加换行符。
因此,如果您想使用格式写入标准输出,您应该使用:
fmt.Printf("inc 1 equal %v", inc(1))
Run Code Online (Sandbox Code Playgroud)