string 与int 转换的问题

zhouyu · · 969 次点击
johng
https://goframe.org
因为后面都是`\0`字符,所以你用`strconv.Atoi`会失败的,推荐使用`gconv`包来实现各种类型转换:https://gfer.me/util/gconv/index
#4
更多评论
strconv.Atoi: parsing "1234\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00": invalid syntax 你为啥不把err打印出来看看?
#1
``` i := make([]byte, 200) i[0] = '1' i[1] = '2' i[2] = '3' i[3] = '0' var str = string(i) invidIndex:=len(str) for i:=range str { if byte(str[i])==0{ invidIndex = i break } } str = str[0:invidIndex] fmt.Println(str) va, err := strconv.Atoi(str) fmt.Println(va,err) ``` 纯粹是针对性解决你这问题,实际开发中想不到什么场景会这么用
#2