Golang中数字与字符串的转换

举报
liuzhen007 发表于 2021/12/23 22:51:31 2021/12/23
【摘要】 目录前言正文前言其他编程语言总会涉及到字符串和其他数据类型的转换,在Golang中也不例外。今天我们就来看看Golang在开发过程中是如何进行数字与字符串之间的转换的。正文首先,在node.js中,我们知道其他变量和字符用“+”加号拼接时都会自动转成字符串,比如var str = "hello"+100 // 字符串与数字100拼接,结果str会转换成字符串console.log(str)复...

目录

前言

正文

前言

其他编程语言总会涉及到字符串和其他数据类型的转换,在Golang中也不例外。今天我们就来看看Golang在开发过程中是如何进行数字与字符串之间的转换的。

正文

首先,在node.js中,我们知道其他变量和字符用“+”加号拼接时都会自动转成字符串,比如

var str = "hello"+100 // 字符串与数字100拼接,结果str会转换成字符串
console.log(str)
复制代码

输出结果:hello100。

那么,如果是Golang的话,会发生什么呢?

str := "hello" + 100
复制代码

是的,发生了报错,报错信息如下:

# command-line-arguments ./main.go:6:17: cannot convert "hello" (type untyped string) to type int ./main.go:6:17: invalid operation: "hello" + 100 (mismatched types string and int)

大致的意思是说,不能将字符串'hello'转换成int类型,二者在进行加号运算时,类型是不匹配的。这一点其实和C++很像,加号在字符串中表示字符串的连接,在整型变量中表示数据的计算。

数字转换成字符串

如果我们想实现二者的拼接,该怎么做呢?

我们可以使用一个工具包strconv,其中,有个方法是Itoa(),具体怎么使用呢?

请看代码示例:

package main

import "fmt"
import "strconv"

func main() {
	//str := "hello" + 100 // 取消注释会报错
	str := strconv.Itoa(100)
	str = "hello" + str
	fmt.Println(str)
}
复制代码

代码输出结果:

hello100

字符串转换成数字

如果我们想把字符串转换成数字,应该怎么操作呢?

有没有类似方便的方法呢?是的,它就是Atoi()。

具体如何使用呢,也非常简单,请看代码:

package main

import "fmt"
import "strconv"

func main() {
	//num := "123" + 100 // 取消注释会报错
	num,_ := strconv.Atoi("123")
	res := num + 100
	fmt.Println(res)
}
复制代码

代码输出结果:

223

上面的代码逻辑也非常简单,就是将字符串“123”转换成数字123,再与100进行求和运算,得到结果223。



作者简介:😄大家好,我是 Data-Mining(liuzhen007),是一位音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,😄公众号:玩转音视频。同时也是 CSDN 博客专家、华为云社区云享专家、签约作者,欢迎关注我分享更多干货!😄

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。