Go基础:字符串常用的系统函数及对应案例详解
更多内容请见: 100天Go语言从入门到精通系列-专栏介绍和目录
文章目录
-
- 一、Go 中的字符串
- 二、字符串常用的系统函数及案例
-
- 2.1 字符串长度与遍历
-
- 1、len(string)
- 2、strings.Count(s, substr) int
- 3、utf8.RuneCountInString(string)
- 4、for...range 遍历
- 2.2 字符串查找与判断
-
- 1、strings.Contains(s, substr) bool
- 2、strings.HasPrefix(s, prefix) bool` / `strings.HasSuffix(s, suffix) bool
- 3、strings.Index(s, substr) int` / `strings.LastIndex(s, substr) int
- 2.3 字符串转换与修改
-
- 1、strings.ToLower(s) string` / `strings.ToUpper(s) string
- 2、strings.Replace(s, old, new string, n int) string
- 3、strings.TrimSpace(s) string
- 4、[]byte(s)` 和 `string(b)
- 2.4 字符串分割与连接
-
- 1、strings.Split(s, sep) []string
- 2、strings.Join(elems []string, sep) string
- 3、strings.SplitN(s, sep, n) []string
- 4、strings.Trim(s, cutset) string
- 5、strings.TrimLeft(s, cutset) string` / `strings.TrimRight(s, cutset) string
- 6、strings.TrimPrefix(s, prefix) string` / `strings.TrimSuffix(s, suffix) string
- 7、strings.Fields(s) []string
- 2.5 字符串重复与比较
-
- 1、strings.Repeat(s, count int) string
- 2、strings.Compare(a, b string) int
一、Go 中的字符串
在开始之前,必须理解 Go 语言字符串的两个核心特性:
- 不可变性:Go 的字符串在创建后是不可变的。任何试图修改字符串的操作,实际上都会创建一个新的字符串。这保证了字符串的并发安全。
- UTF-8 编码:Go 的字符串是 UTF-8 编码的字节序列。这意味着一个英文字符占 1 个字节,一个中文字符通常占 3 个字节。在处理多语言字符时,需要特别注意这一点,直接按字节操作可能会出错。
二、字符串常用的系统函数及案例
2.1 字符串长度与遍历
1、len(string)
- 功能:返回字符串的字节长度(
int类型)。 - 注意:它计算的是字节数,不是字符数。对于纯 ASCII 字符串,字节数等于字符数;对于包含中文等多字节字符的字符串,字节数会大于字符数。
案例:
package main
import 