尝试使用%v化程序将int值插入到字符串中,如下所示,但未打印任何内容,
%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值?
rbpvctlc1#
fmt.Sprintln返回一个String,但不打印任何内容。(这个名称取自C函数sprintf,也是一个容易混淆的名称。)您需要的是Printf,但您必须自己添加换行符:
fmt.Sprintln
String
sprintf
Printf
fmt.Printf("inc 1 equal %v\n", inc(1))
2guxujil2#
Sprintln使用其操作数的默认格式进行格式化,并返回结果字符串。操作数之间总是添加空格,并追加一个换行符。Sprint化一个字符串并返回这样的字符串,它不写入任何内容。您要搜索的是Print此外,变量ln不解析%,它只在字符串的末尾添加换行符。因此,如果要使用format写入标准输出,则应使用以下命令:
Sprint
Print
ln
%
fmt.Printf("inc 1 equal %v", inc(1))
brgchamk3#
fmt.Sprintln* 返回 * 展开的第一个参数。
wi3ka0sx4#
Go语言中有一个很酷的字符串插值包:https://github.com/evandrojr/string-interpolation简单的golang字符串插值。用一种简单的方法插值任何东西。不再需要传递格式参数%d、%s、%t...!它有3种方法:打印、Println和Sprint:示例:
esi.Print("Print ", 10, " ", 7, " interpolates anything ", true, " ", 3.4e10)
输出量:
Print 10 7 interpolates anything true 3.4e+10
4条答案
按热度按时间rbpvctlc1#
fmt.Sprintln
返回一个String
,但不打印任何内容。(这个名称取自C函数sprintf
,也是一个容易混淆的名称。)您需要的是
Printf
,但您必须自己添加换行符:2guxujil2#
Sprintln使用其操作数的默认格式进行格式化,并返回结果字符串。操作数之间总是添加空格,并追加一个换行符。
Sprint
化一个字符串并返回这样的字符串,它不写入任何内容。您要搜索的是Print
此外,变量
ln
不解析%
,它只在字符串的末尾添加换行符。因此,如果要使用format写入标准输出,则应使用以下命令:
brgchamk3#
fmt.Sprintln
* 返回 * 展开的第一个参数。wi3ka0sx4#
Go语言中有一个很酷的字符串插值包:
https://github.com/evandrojr/string-interpolation
简单的golang字符串插值。用一种简单的方法插值任何东西。
不再需要传递格式参数%d、%s、%t...!
它有3种方法:打印、Println和Sprint:
示例:
输出量: