【发布时间】:2020-12-06 10:29:35
【问题描述】:
(我使用的是 Go 1.14.6。)
以下语句都会输出字符a
Println(string(int(97) ) )
Println(string(int32(97) ) )
Println(string([]int32{97} ) )
但是
Println(string([]int{97} ) )
会导致编译错误
cannot convert []int literal (type []int) to type string
这种行为让我很困惑。如果它处理string(int) 与string(int32) 相同,为什么它处理string([]int) 与string([]int32) 不同?
【问题讨论】:
-
“如果它处理 string(int) 与 string(int32) 相同” - 不,它不会。
go vet在string(int)上打印警告 -
感谢您提到
go vet,这对我来说是新的(新的 Go 学习者 :)。