去字符串插值
Go string interpolation
尝试使用 %v
格式化程序将 int
值插入字符串,如下所示,但未打印任何内容,
package main
import "fmt"
func inc(i int) int {
return i + 1
}
func main() {
fmt.Sprintln("inc 1 equal %v", inc(1))
}
如何插入 int
值?
fmt.Sprintln
returns a String
,但不打印任何内容。 (这个名字取自同样容易混淆的 C 函数 sprintf
。)
你需要的是Printf
,但你必须自己添加换行符:
fmt.Printf("inc 1 equal %v\n", inc(1))
fmt.Sprintln
returns 展开的第一个参数。
Sprintln formats using the default formats for its operands and returns the resulting string. Spaces are always added between operands and a newline is appended.
Sprint
格式化一个字符串和returns这样的字符串,它确实什么都不写。您要搜索的是 Print
此外,变体ln
不解析%
,它只是在字符串末尾添加换行符。
所以,如果你想使用格式写入标准输出,你应该使用这个:
fmt.Printf("inc 1 equal %v", inc(1))
尝试使用 %v
格式化程序将 int
值插入字符串,如下所示,但未打印任何内容,
package main
import "fmt"
func inc(i int) int {
return i + 1
}
func main() {
fmt.Sprintln("inc 1 equal %v", inc(1))
}
如何插入 int
值?
fmt.Sprintln
returns a String
,但不打印任何内容。 (这个名字取自同样容易混淆的 C 函数 sprintf
。)
你需要的是Printf
,但你必须自己添加换行符:
fmt.Printf("inc 1 equal %v\n", inc(1))
fmt.Sprintln
returns 展开的第一个参数。
Sprintln formats using the default formats for its operands and returns the resulting string. Spaces are always added between operands and a newline is appended.
Sprint
格式化一个字符串和returns这样的字符串,它确实什么都不写。您要搜索的是 Print
此外,变体ln
不解析%
,它只是在字符串末尾添加换行符。
所以,如果你想使用格式写入标准输出,你应该使用这个:
fmt.Printf("inc 1 equal %v", inc(1))