登录
首页 >  Golang >  Go问答

Go 将字符串转换为整数

来源:stackoverflow

时间:2024-04-13 12:36:37 263浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《Go 将字符串转换为整数》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

问题内容

最近在 leetcode 进行一些算法练习时,我遇到了一个解决方案,除了用户将字符串中的元素转换为整数的部分之外,我理解了所有内容,请看下面的代码。希望有人可以向我解释这一点。感谢您的提前回复。

a := 234
b := strconv.Itoa(a)
c := int(b[0]-48) // why do we subtract 48?

解决方案


48'0'字符在ascii表中的编码。

go 将字符串作为 utf-8 字节序列存储在内存中,这会将 ascii 表的字符一对一映射到其代码。

ascii 表中的数字是连续列出的,'0'48。因此,如果字符串中有一个数字,然后从该字符的代码中减去 48,就会得到该数字的数值。

索引 string 索引其字节,在您的情况下,b[0]b 字符串的第一个字节,即 2。而 '2' - 48 就是 2

例如:

fmt.println('0' - 48)
fmt.println('1' - 48)
fmt.println('2' - 48)
fmt.println('3' - 48)
fmt.println('4' - 48)

此输出(在 Go Playground 上尝试):

0
1
2
3
4

“b”是一个字符串“234”,字符串是符文的一个切片,因此 b[0] 是一个字节/符文,在本例中,值 50 是“2”的十进制值ascii。所以“c”将为 50-48=2

终于介绍完啦!小伙伴们,这篇关于《Go 将字符串转换为整数》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>