📅  最后修改于: 2023-12-03 15:01:02.060000             🧑  作者: Mango
在 Golang 中,字符串被定义为双引号或反引号括起来的一组字符。Golang 中的字符串是不可变的,也就意味着你不能改变一个字符串的任何一个字符。
定义一个字符串非常简单,只需要在双引号或反引号中放置需要使用的字符即可。
str1 := "Hello World!"
str2 := `Hello World!`
要获取一个字符串的长度,可以使用 len()
函数来实现。
str := "Hello World!"
len := len(str)
fmt.Println(len) // 打印输出:12
在 Golang 中,可以使用 ==
或 !=
来比较两个字符串是否相等。
str1 := "Hello"
str2 := "Hello"
if str1 == str2 {
fmt.Println("str1 和 str2 相等")
} else {
fmt.Println("str1 和 str2 不相等")
}
如果两个字符串相等,上面的代码会输出 str1 和 str2 相等
。
要遍历字符串中的每一个字符,可以使用 for
循环进行实现。
str := "Hello World!"
for i := 0; i < len(str); i++ {
fmt.Printf("%c ", str[i])
}
上面的代码会输出字符串中的每一个字符,中间使用空格进行分隔。
要将两个字符串合并成一个字符串,可以使用 +
进行拼接。
str1 := "Hello"
str2 := "World!"
str3 := str1 + " " + str2
fmt.Println(str3) // 打印输出:Hello World!
要将一个字符串根据某个分割符分割成多个子串,可以使用 strings
包中的 Split()
函数。
import "strings"
str := "Hello,World!"
arr := strings.Split(str, ",")
fmt.Println(arr) // 打印输出:[Hello World!]
如果需要将字符串中的某个子串替换成另一个字符串,可以使用 strings
包中的 Replace()
函数。
import "strings"
str := "Hello,World!"
newStr := strings.Replace(str, "World", "Golang", -1)
fmt.Println(newStr) // 打印输出:Hello,Golang!
上面的代码会将字符串中的 World
替换成 Golang
。
如果需要在一个字符串中查找某个子串是否存在,可以使用 strings
包中的 Contains()
函数。
import "strings"
str := "Hello,World!"
if strings.Contains(str, "World") {
fmt.Println("字符串包含 World 子串")
} else {
fmt.Println("字符串不包含 World 子串")
}
如果字符串中包含 World
子串,上面的代码会输出 字符串包含 World 子串
。否则会输出 字符串不包含 World 子串
。
如果需要将一个字符串转换成大写或者小写,可以使用 strings
包中的 ToUpper()
函数或者 ToLower()
函数。
import "strings"
str := "Hello,World!"
upperStr := strings.ToUpper(str)
lowerStr := strings.ToLower(str)
fmt.Println(upperStr) // 打印输出:HELLO,WORLD!
fmt.Println(lowerStr) // 打印输出:hello,world!
上面的代码会分别将字符串转换成大写和小写形式。
如果需要将其他类型的数据转换成字符串类型,可以使用 strconv
包中的 Itoa()
函数或者 FormatInt()
函数。
import "strconv"
number := 42
str1 := strconv.Itoa(number)
str2 := strconv.FormatInt(int64(number), 10)
fmt.Println(str1) // 打印输出:42
fmt.Println(str2) // 打印输出:42
上面的代码会将整数类型的 number
转换成字符串类型。