Golang字符串类型

ShawnLee_123 · · 607 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

字符串类型

Go语言的源文件仅支持UTF-8和Unicode两种编码格式。出于简化语言的考虑,Go语言多数API都假设字符串以UTF-8编码

1.简介

Go语言中,字符串类型也是一种基础类型。

str = "Hello world" //字符串赋值
ch := str[0] //取字符串第一个字符

2.基本操作

2.1 连接

golang的字符串支持使用 "+" 直接拼接

str := "hello" + "123" //结果为hello123

2.2 求长度

len("Hello") //结果为5

2.3 取字符

s := "Hello"
s[1]  //结果为 'e'

2.4 strings包

3.字符串的遍历

3.1 以字节数组遍历

str := "Hello, 世界"
n := len(str)
for i := 0; i < n; i++ {
    ch := str[i]
    fmt.Println(i, ch)
}

输出结果如下:

0 72
1 101
2 108
3 108
4 111
5 44
6 32
7 228
8 184
9 150
10 231
11 149
12 140

从输出我们可以发现,str字符串长为13,这是因为每个中文字符在UTF-8中占3个字节。

3.2 以Unicode字符遍历

str := "Hello, 世界"
    for i, ch := range str {
        fmt.Println(i, ch)
    }

输出结果如下:

0 72
1 101
2 108
3 108
4 111
5 44
6 32
7 19990
10 30028

以Unicode字符方式遍历时,每个字符类型就是rune,而不是byte。关于rune的操作,可以查询
标准库的Unicode包


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:ShawnLee_123

查看原文:Golang字符串类型

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

607 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传