时间:2021-05-22
在许多语言中,你可以轻松地将任何数据类型转换为字符串,只需将其与字符串连接,或者使用类型转换表达式即可。但是,如果你在Go中尝试执行似乎很明显的操作(例如将int转换为字符串),你不太可能获得预期的效果。
比如下面:
string(120)你期望返回的结果是什么?如果你有使用其他编程语言的经验,那么大多数人的猜测是“ 123”。相反,在Go中上面的类型转换会得到“ E”之类的值,那根本不是我们想要的。因为string()会直接把字节或者数字转换为字符的UTF-8表现形式。
所以在Go中将byte或者int类型的值转换为数字的字符串表现形式的正确方法是使用strconv包中的方法,比如strconv.Itoa。
strconv.Itoa(120)// 返回"120"下面的例子,可以试着把strconv.Itoa改成string看看得到什么输出。
package mainimport ( "fmt" "strings" "strconv")type IPAddr [4]bytefunc (p IPAddr) String() string { var ipParts []string for _, item := range p { ipParts = append(ipParts, strconv.Itoa(int(item))) } return strings.Join(ipParts, ".")}func main() { hosts := map[string]IPAddr{ "loopback": {127, 0, 0, 1}, "googleDNS": {8, 8, 8, 8}, } for name, ip := range hosts { fmt.Printf("%v: %v\n", name, ip) }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1、转换为字符串''+10==='10';//true将一个值加上空字符串可以轻松转换为字符串类型。2、字符串转换为数字+'010'===10Number('0
目录:1:伪对象2:转换为字符串3:数字转字符串4:转换为数字5:转换为Boolean6:Number()和parseInt()的区别7:String()和to
1.数字转换为字符串 a.要把一个数字转换为字符串,只要给它添加一个空的字符串即可: 代码如下:varn=100;varn_as_string=n+""
0与任意非数字(或者说,不可转化为数字的字符)前导的字符串比较(操作符为==),均返回true.原因是,数字与字符串比较时,先尝试将字符串转换为数字,再比较,一
数字转字符串selectcast(123asVARCHAR);字符串转数字selectcast('123'asINTEGER);以此类推,应该也可以转换为其他数