输出结果:
truefalsetruetrue
阅读上面这段代码,我们使用 func Contains(s, substr string) bool
在字符串 substr
中查找 s
,存在则返回 true
, 反之返回 false
。
字符串中是否包含指定字符串中任意字符
示例代码:
func main() { fmt.Println(strings.ContainsAny("team", "i")) fmt.Println(strings.ContainsAny("fail", "ui")) fmt.Println(strings.ContainsAny("ure", "ui")) fmt.Println(strings.ContainsAny("failure", "ui")) fmt.Println(strings.ContainsAny("foo", "")) fmt.Println(strings.ContainsAny("", ""))}
输出结果:
falsetruetruetruefalsefalse
阅读上面这段代码,我们使用 func ContainsAny(s, chars string) bool
在字符串 s
中查找是否包含字符串 chars
中任意字符 , 存在则返回 true
, 反之返回 false
。
删除字符串中指定字符
示例代码:
func main() { fmt.Print(strings.Trim("¡¡¡Hello, Gophers!!!", "!¡"))}
输出结果:
Hello, Gophers
阅读上面这段代码,我们使用 func Trim(s, cutset string) string
删除字符串 s
中的字符 cutset
。
字符串转换为大写
示例代码:
func main() { fmt.Println(strings.ToUpper("Gopher"))}
输出结果:
GOPHER
阅读上面这段代码,我们使用 func ToUpper(s string) string
将字符串中的字符全部转换为大写 。
【Go 语言字符串使用方式与技巧】字符串以指定字符拆分为字符串切片
示例代码:
func main() { fmt.Printf("%qn", strings.Split("a,b,c", ",")) fmt.Printf("%qn", strings.Split("a man a plan a canal panama", "a ")) fmt.Printf("%qn", strings.Split(" xyz ", "")) fmt.Printf("%qn", strings.Split("", "Bernardo O'Higgins"))}
输出结果:
["a" "b" "c"]["" "man " "plan " "canal panama"][" " "x" "y" "z" " "][""]
阅读上面这段代码,我们使用 func Split(s, sep string) []string
将字符串 s
以字符串 sep
为分隔符,拆分为字符串切片 。
字符串切片拼接为字符串
示例代码:
func main() { s := []string{"foo", "bar", "baz"} fmt.Println(strings.Join(s, ", "))}
输出结果:
foo, bar, baz
阅读上面这段代码,我们使用 func Join(elems []string, sep string) string
将字符串切片中的所有元素,以 sep
为分隔符,拼接为字符串 。
04
字符串拼接
关于字符串拼接,分为编译时字符串拼接,和运行时字符串拼接 。
其中,编译时字符串拼接,即使用 +
将多个字符串拼接为一个字符串,需要注意的是,在使用 +
拼接字符串时 , 如果存在字符串变量 , 则会在运行时拼接 。
示例代码:
func main() { str := "hello" + " world" fmt.Println(str) name := "frank" outPut := "My name is " + name fmt.Println(outPut)}
输出结果:
hello worldMy name is frank
阅读上面这段代码,第一个字符串拼接是在编译时拼接,第二个字符串拼接是在运行时拼接 。
需要注意的是,运行时拼接是分配一块新的内存空间 , 通过内存拷贝的方式将字符串拷贝到新内存空间 。
如果拼接后的字符串小于 32 字节,可以使用临时缓存;如果拼接后的字符串大于 32 字节,需要在堆区分配一块内存空间,并将需要拼接的多个字符串通过内存拷贝的形式拷贝过去 。
推荐阅读
- 淘宝代付如何使用花呗支付功能,淘宝花呗逾期可以找朋友代付吗
- 玫瑰精油使用方法,玫瑰精油的使用方法是什么?
- 红花油怎么用,红花油去除吻痕怎么使用?
- ai镜像工具能如何使用
- 钉钉怎么使用悬浮窗,苹果手机钉钉怎么开悬浮窗
- 原神凯亚在哪个位置,原神为什么凯亚获得了不能使用
- 轮胎外侧蹭掉一块橡胶影响使用,轮胎侧面蹭掉一块橡胶能跑高速
- 血压计的使用方法,脉博士电子血压计的正确使用方法?
- ps能如何保存,如何把ps的图层保存下来下次使用
- 如何使用PS将图片变得清晰