📜  Golang 中的字符串(1)

📅  最后修改于: 2023-12-03 15:01:02.060000             🧑  作者: Mango

Golang 中的字符串

在 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 转换成字符串类型。