情况1下面的代码将空格字符与标签字符串连接起来func printTree(t Tree, nSpaces int) {
labelValue := strings.Repeat(" ", nSpaces) + string(label(t))
fmt.Println(labelValue)
for _, branch := range t.branches {
printTree(branch, nSpaces+1)
}}打印无效字符串,如下所示:案例2下面的代码:func printTree(t Tree, nSpaces int) { labelValue := strings.Repeat(" ", nSpaces) + strconv.Itoa(label(t)) fmt.Println(labelValue) for _, branch := range t.branches { printTree(branch, nSpaces+1) }}打印有效字符串。3 1 2 1 1label()返回整数,如下所示:func label(t Tree) int { return t.rootLabel}go vet没有给出任何线索$ go vet Main.go$ go versiongo version go1.14.3 linux/amd64$ 为什么案例 1 使用此语法失败strings.Repeat(" ", nSpaces) + string(label(t)?
1 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
string(i)
其中i
是一个数字不返回 的字符串表示形式i
。它返回一个字符串,其中包含一个值为 的符文i
。如果你运行go vet
,它会说:
从 int 到 string 的转换产生一串一个符文,而不是一串数字(你的意思是 fmt.Sprint(x) 吗?)
- 1 回答
- 0 关注
- 110 浏览
添加回答
举报
0/150
提交
取消