笔者个人网站: 秋码记录
本文已首发于秋码记录:Go 语言中的字符串
字符串想必是所有编程语言最为基础的类型,当然,Go
中也不另外,字符串可根据需要会占用1
到4
个字节内存,由于Go
采用的是UTF-8
字符集编码格式,所以Go
不需要像其他编程语言那样对使用UTF-8
字符集的文本进行编码与解码。
1、定义字符串
使用双引号""
来定义字符串,而且字符串内可以使用转义字符
来格式化字符串,常用转义字符
有以下这些:
- \n:换行符
- \r:回车符
- \t:tab 键
- \u 或 \U:Unicode 字符
- \:反斜杠自身
// hello project main.go
package main
import (
"fmt"
)
func main() {
var str = "一个神奇的网站:https://qiucode.cn\n"
fmt.Printf(str)
}
其实,字符串是字节的定长数组,所以可以使用数组索引(也可以称为下标)来操作字符串。
- 获取字符串的第一个字节: str[0]
- 获取字符串最后一个字节: str[len(str) - 1]
需要注意的是,这种转换方案只对纯 ASCII 码的字符串有效。
获取字符串中某个字节的地址属于非法行为,例如 &str[i]。
2、字符串拼接
两个或两个字符串拼接使用+
进行拼接。由于因为编译器会在行尾自动补全分号,所以拼接字符串用的加号+
必须放在第一行末尾。
// hello project main.go
package main
import (
"fmt"
)
func main() {
var str = "我推荐"
var str2 = "一个神奇的网站:https://qiucode.cn\n"
str3 := str + str2
str4 := "一个您值得拥有的网站:" +
"https://qiucode.cn\n"
str5 := "这究竟是一个怎样的网站呢?"
str5 += "您不妨去浏览一番就知道了 \n"
fmt.Printf(str3, str4, str5)
}
3、定义多行字符串
由于字符串字面量
不能跨行,想要定义多行字符串,就得使用 ` 反引号了。
// hello project main.go
package main
import (
"fmt"
)
func main() {
var str = `我推荐
一个神奇的网站:https://qiucode.cn,
您值得拥有的网站!
这究竟是一个怎样的网站呢?
您不妨去浏览一番就知道了 \n`
fmt.Printf(str)
}