package main
import (
"fmt"
)
func main() {
fmt.Println(say(9))
}
func say(num int)(total string){
return fmt.Sprintf("There are %s reasons to code!", num)
}
我的输出是
There are %!s(int=9) reasons to code!
我应该怎么做才能在字符串中插入一个数字?
答案 0 :(得分:38)
如果您想要始终使用“默认”表示,无论使用何种类型,请使用{/ 1}},如
%v
答案 1 :(得分:12)
答案 2 :(得分:1)
输出正是说明发生了什么以及你需要知道什么!
当您尝试使用%s 动词时,输出的字符串表示:
!s(int=0)
表示:
值不字符串,但整数。
因此,如果您想知道要使用什么,请查看"整数"中的fmt包页面https://golang.org/pkg/fmt/。表:
%b base 2
%c the character represented by the corresponding Unicode code point
%d base 10
%o base 8
%q a single-quoted character literal safely escaped with Go syntax.
%x base 16, with lower-case letters for a-f
%X base 16, with upper-case letters for A-F
%U Unicode format: U+1234; same as "U+%04X"
因此,您可以使用此动词中的任何一个来正确表示输出
或者如前面的答案所说,你也可以使用%v 动词,这意味着:
"默认格式的值"。