相关疑难解决方法(0)

如何在Go中将int值转换为字符串?

i := 123
s := string(i) 
Run Code Online (Sandbox Code Playgroud)

s是'E',但我想要的是"123"

请告诉我如何获得"123".

在Java中,我可以这样做:

String s = "ab" + "c"  // s is "abc"
Run Code Online (Sandbox Code Playgroud)

我怎么能concat在Go中使用两个字符串?

string int go converters

447
推荐指数
9
解决办法
33万
查看次数

格式化Go字符串而不打印?

是否有一种简单的方法来在Go中格式化字符串而不打印字符串?

我可以:

bar := "bar"
fmt.Printf("foo: %s", bar)
Run Code Online (Sandbox Code Playgroud)

但我希望返回格式化的字符串而不是打印,以便我可以进一步操作它.

我也可以这样做:

s := "foo: " + bar
Run Code Online (Sandbox Code Playgroud)

但是当格式字符串很复杂时很难读取,当一个或多个部分不是字符串并且必须先转换时很麻烦,就像

i := 25
s := "foo: " + strconv.Itoa(i)
Run Code Online (Sandbox Code Playgroud)

我是Go的新手 - 我的背景是Ruby,这很简单.有更简单的方法吗?

string formatting string-formatting go

346
推荐指数
4
解决办法
19万
查看次数

如何在Go中使用int-to-string强制转换?

我今天才开始去,所以这可能很明显,但我找不到任何东西.

是什么var x uint64 = 0x12345678; y := string(x)y

我知道var x uint8 = 65; y := string(x)会给y字节65,性格A和常识会建议(因为大于类型uint8允许被转换为字符串),他们会简单地以本地字节顺序进行包装(即小端),并赋值给变量.

似乎并非如此:

hex.EncodeToString([]byte(y)) ==> "efbfbd"
Run Code Online (Sandbox Code Playgroud)

首先想到这是一个地址,最后一个字节由于一些奇怪的空终止符而被关闭,但是如果我分配两个xy两个不同值的变量并打印出来我得到相同的结果.

var x, x2 uint64 = 0x10000000, 0x20000000
y, y2 := string(x), string(x2)
fmt.Println(hex.EncodeToString([]byte(y))) // "efbfbd"
fmt.Println(hex.EncodeToString([]byte(y2))) // "efbfbd"
Run Code Online (Sandbox Code Playgroud)

疯狂地我无法在任何地方找到字符串类型的实现,尽管我可能看起来不够努力.

string type-conversion go

3
推荐指数
1
解决办法
119
查看次数