5.5 Go语言中的类型转换

本文介绍了Go语言中的类型转换,包括从`string`到`[]byte`、`[]int`、`[]rune`的转换,以及从`[]byte`、`[]rune`到`string`的转换,并提供了详细的示例代码和运行结果,展示了在转换过程中如何处理Unicode字符。
摘要由CSDN通过智能技术生成

类型转换关系

Fromb []bytei []intr []runes stringf float32/float64i int
To
[]byte·[]byte(s)
[]int·[]int(s)
[]rune[]rune(s)
stringstring(b)string(i)string®·
float32·float32(i)
intint(f)·

示例:类型转换测试

package main

import "fmt"

func main() {
    mystring := "hello this is string,中文测试"
    byteslice := []byte(mystring)

    fmt.Printf("string to byteslice = %v\n", byteslice)

    runeslice := []rune(mystring)
    fmt.Printf("     string to rune = %v\n", runeslice)

    b := []byte{'h','e','l','l','o'}
    s := string(b)
    fmt.Printf("     byte to string = %v\n", s)

    i := []rune{20013, 25991}
    r := string(i)
    fmt.Printf("     rune to string = %v\n", r)
}

输出的结果如下,rune在输出的时候是按照unicode

string to byteslice = [104 101 108 108 111 32 116 104 105 115 32 105 115 32 115 116 114 105 110 103 44 228 184 173 230 150 135 230 181 139 232 175 149]
     string to rune = [104 101 108 108 111 32 116 104 105 115 32 105 115 32 115 116 114 105 110 103 44 20013 25991 27979 35797]
     byte to string = hello
     rune to string = 中文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老孙正经胡说

创作不易,感谢您的关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值