Golang rune与int32的区别

rune在Golang中是int32的别名,主要用于处理unicode字符。虽然可以将字符直接转换为int32再转回string,但使用rune更符合语义,有助于处理中文字符等Unicode编码问题。文章通过示例展示了rune在字符串操作中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

golang rune和int32有什么区别呢?

rune实际上就是int32

从源码可知rune实际上就是int32的别名

type rune = int32

rune主要是用来处理unicode字符的,比如说

s := "你好"
fmt.Println(s[1:])

截取出来并不是“好”,所以需要将字符转换为rune,然后再转为string就可以得到期望中的中文字符

s := "你好"
r := []rune(s)
fmt.Println(string(r[1:]))

实际上当我们将字符转换为int32,转换回string也会得到同样期待中的中文字符

s := "你好"
sr:=[]int32(s)
fmt.Println(string(sr[1:]))

那么rune到底和int32有什么区别呢?
可能就是名字吧,rune让人想到字符,而int32使人想到数字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值