如何在golang中插入一个字符串中的数字

时间:2014-01-30 06:28:59

标签: go

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!

我应该怎么做才能在字符串中插入一个数字?

3 个答案:

答案 0 :(得分:38)

如果您想要始终使用“默认”表示,无论使用何种类型,请使用{/ 1}},如

%v

答案 1 :(得分:12)

尝试使用%d代替%s。 d代表十进制。

适当的文件在这里:

http://golang.org/pkg/fmt/

答案 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 动词,这意味着:
 "默认格式的值"。