考虑,package mainimport "fmt"func main() { name := "johnny" fmt.Println("Hello world %s\n", name)}打印出来,你好世界%s 约翰尼为什么我得到 %s 而不是这个,package mainimport "fmt"func main() { name := "johnny" fmt.Printf("Hello world %s\n", name)}哪个打印 Hello world johnny?我试图从文档中找出答案,如果格式(对于 Println 等隐式为 %v)对字符串有效(%s %q %v %x %X),则以下两条规则适用:如果操作数实现了错误接口,则将调用 Error 方法将对象转换为字符串,然后根据动词(如果有)的要求对其进行格式化。如果操作数实现方法 String() string,则将调用该方法将对象转换为字符串,然后将根据动词(如果有)的要求对其进行格式化。但是我无法理解这是否影响了我的程序。
- 2 回答
- 0 关注
- 177 浏览
添加回答
举报
0/150
提交
取消