当前位置:主页 > 聚焦 >

go语言中数字如何转字符串

时间:2020-12-21 15:43:38

  go语言中数字转字符串的方法:首先创建一个go示例文件;然后使用strconv包中的“strconv.Itoa”方法将byte或者int类型的值转换为数字的字符串表现形式即可。

  本文环境:Windows7系统、Go1.11.2版,本文适用于所有品牌的电脑。

  《go语言教程》

  Go中数字转换字符串的正确姿势

  在许多语言中,你可以轻松地将任何数据类型转换为字符串,只需将其与字符串连接,或者使用类型转换表达式即可。但是,如果你在Go中尝试执行似乎很明显的操作(例如将int转换为字符串),你不太可能获得预期的效果。

  比如下面:

  string(120)

  你期望返回的结果是什么?如果你有使用其他编程语言的经验,那么大多数人的猜测是“ 123”。相反,在Go中上面的类型转换会得到“ E”之类的值,那根本不是我们想要的。因为string()会直接把字节或者数字转换为字符的UTF-8表现形式。

  所以在Go中将byte或者int类型的值转换为数字的字符串表现形式的正确方法是使用strconv包中的方法,比如strconv.Itoa。

  strconv.Itoa(120)// 返回"120"

  下面的例子,可以试着把strconv.Itoa改成string看看得到什么输出。

  package main import ( "fmt" "strings" "strconv" ) type IPAddr [4]byte func (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) } }

热点推荐
1 Arbitrum获得Robinhood链收入流

消息,Arbitrum联合创始人Steven Goldfeder表示,Robinhood链及其他Arbitrum第二层网络将把10%的净协议收...

2 Payward获2200万美元仲裁赔偿,要求法院对

消息,Kraken母公司Payward在仲裁中获赔2200万美元,并已要求特拉华州衡平法院对Mazars USA作出最...

3 黑石比特币ETF净流出952枚BTC,价值约591

消息,黑石比特币ETF在7月8日的净流出为952枚比特币,按当前价格计算约合5916万美元,交易量...

4 美伊冲突升级,霍尔木兹海峡交通几近停

消息,美国连续第二日对伊朗发动打击,美伊之间脆弱的停火协议日益不稳,周四霍尔木兹海...

5 Sony获得美国信托银行设立批准,计划发行

Sony已获得美国货币监理署有条件批准,可在美国设立全国信托银行。Sony披露,Sony Financial Gr...

6 AI姨:地址0x9dc…f302d再次做多skhx,持有

消息,据链上分析师AI姨监测,地址0x9dcf302d开启2.12万枚skhx的2倍多单,价值3081万美元,目前浮...

7 国家超算互联网核心节点正式上线运行

消息,国家超算互联网核心节点正式上线运行,作为接入国家超算互联网的单体十万卡全精度...

8 得州因加密货币自助机诈骗损失5680万美元

消息,FBI投诉数据显示,美国得州去年约1200人因加密货币自助机诈骗合计损失5680万美元,居全...

9 Nium收购Cypher,扩展加密卡业务

消息,跨境支付初创公司Nium已收购加密钱包和卡片发行初创公司Cypher,后者获得了Coinbase Ven...

10 俄罗斯国家杜马通过加密货币兑换刑事责

俄罗斯国家杜马一读通过一项政府提交的法案,拟对未经许可组织加密货币兑换业务设立刑事...

成都来彰科技 蜀ICP备2025134723号-1

资讯来源互联网,如有版权问题请联系管理员删除。