1. 统计字符串的长度(按字节统计)

使用内置函数 len 可以直接统计字符串的字节长度:

1
2
str := "hello"
fmt.Println(len(str)) // 输出: 5

2. 字符串遍历

方式 1:for-range 键值循环

1
2
3
4
str := "hello"
for index, char := range str {
    fmt.Printf("字符=%c, 索引=%d\n", char, index)
}

方式 2:转换为 []rune

1
2
3
4
5
str := "hello"
r := []rune(str)
for i := 0; i < len(r); i++ {
    fmt.Printf("字符=%c\n", r[i])
}

3. 字符串转整数

使用 strconv.Atoi 函数可以将字符串转换为整数:

1
2
3
4
5
6
n, err := strconv.Atoi("66")
if err != nil {
    fmt.Println("转换错误:", err)
} else {
    fmt.Println("转换结果:", n)
}

4. 整数转字符串

使用 strconv.Itoa 函数可以将整数转换为字符串:

1
2
str := strconv.Itoa(6887)
fmt.Println("转换结果:", str)

5. 查找子串是否在指定的字符串中

使用 strings.Contains 函数可以检查子串是否存在:

1
2
result := strings.Contains("javaandgolang", "go")
fmt.Println("是否包含子串:", result) // 输出: true

6. 统计一个字符串中有几个指定的子串

使用 strings.Count 函数可以统计子串出现的次数:

1
2
count := strings.Count("javaandgolang", "a")
fmt.Println("子串出现次数:", count) // 输出: 3

7. 不区分大小写的字符串比较

使用 strings.EqualFold 函数可以进行不区分大小写的比较:

1
2
isEqual := strings.EqualFold("go", "Go")
fmt.Println("字符串是否相等:", isEqual) // 输出: true

8. 返回子串在字符串第一次出现的索引值

使用 strings.Index 函数可以找到子串第一次出现的索引:

1
2
index := strings.Index("javaandgolang", "a")
fmt.Println("子串第一次出现的索引:", index) // 输出: 1

9. 参考

马士兵 Golang 工程师-字符串操作