分享
golang语言渐入佳境[21]-string类型详解
jonson_jackson · · 1918 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
string的本质
string是一个引用类型,string包含了两个部分。一个部分是指针,指向了底层的一个字节数组。另一个部分是字节数组的长度。
当复制字符串时,也只是复制了指针与长度。底层的那个字节数组是不能够改变的。
字符串使用UTF-8编码。
打印字符串
1
2
3
4
5
func main(){
str := "跟着建勋老师学编程"
fmt.Println([]byte(str)) // 转换为字节数组
}
转换为字节数组
1
2
3
4
func main(){
str := "跟着建勋老师学编程"
fmt.Println([]byte(str))
}
字符串中特殊字符
1
2
3
4
5
6
7
8
9
10
\a U+0007 alert or bell
\b U+0008 backspace
\f U+000C form feed
\n U+000A line feed or newline
\r U+000D carriage return
\t U+0009 horizontal tab
\v U+000b vertical tab
\\ U+005c backslash
\' U+0027 single quote (valid escape only within rune literals)
\" U+0022 double quote (valid escape only within string literals)
字符串长度len
1
2
3
4
func main(){
str := "跟着建勋老师学编程"
fmt.Println(len(str)) //27 总的字节个数
}
字符串序号
1
2
3
4
func main(){
str := "跟着建勋老师学编程"
fmt.Println(str[20]) //仍然是字节
}
字符串slice
截断无压力
1
2
3
4
func main(){
str := "跟着建勋老师学编程"
fmt.Println(str[3:]) //打印出:着建勋老师学编程
}
字符串+连接
1
2
3
4
5
func main(){
str1 := "jonson love "
str2 :="olaya"
fmt.Println(str1+str2) //jonson love olaya
}
本文链接: https://dreamerjonson.com/2018/11/30/golang-21-string/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!
image.png
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1918 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
string的本质
string是一个引用类型,string包含了两个部分。一个部分是指针,指向了底层的一个字节数组。另一个部分是字节数组的长度。
当复制字符串时,也只是复制了指针与长度。底层的那个字节数组是不能够改变的。
字符串使用UTF-8编码。
打印字符串
1
2
3
4
5
func main(){
str := "跟着建勋老师学编程"
fmt.Println([]byte(str)) // 转换为字节数组
}
转换为字节数组
1
2
3
4
func main(){
str := "跟着建勋老师学编程"
fmt.Println([]byte(str))
}
字符串中特殊字符
1
2
3
4
5
6
7
8
9
10
\a U+0007 alert or bell
\b U+0008 backspace
\f U+000C form feed
\n U+000A line feed or newline
\r U+000D carriage return
\t U+0009 horizontal tab
\v U+000b vertical tab
\\ U+005c backslash
\' U+0027 single quote (valid escape only within rune literals)
\" U+0022 double quote (valid escape only within string literals)
字符串长度len
1
2
3
4
func main(){
str := "跟着建勋老师学编程"
fmt.Println(len(str)) //27 总的字节个数
}
字符串序号
1
2
3
4
func main(){
str := "跟着建勋老师学编程"
fmt.Println(str[20]) //仍然是字节
}
字符串slice
截断无压力
1
2
3
4
func main(){
str := "跟着建勋老师学编程"
fmt.Println(str[3:]) //打印出:着建勋老师学编程
}
字符串+连接
1
2
3
4
5
func main(){
str1 := "jonson love "
str2 :="olaya"
fmt.Println(str1+str2) //jonson love olaya
}
本文链接: https://dreamerjonson.com/2018/11/30/golang-21-string/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!
image.png