前言
在所有编程语言中都涉及到大量的字符串操作,可见熟悉对字符串的操作是何等重要。本文通过示例详细介绍了Go语言实现字符串切片赋值的方法,感兴趣的朋友们跟着小编一起来看看吧。
1. 在for循环的range中
func StrRangeTest() {
str := []string{"str1", "str2", "str3"}
for i, v := range str {
fmt.Println(i, v)
v = "test"
}
fmt.Println(str)}
结果:对v的赋值,不会改变字符创切片的值。
0 str1
1 str2
2 str3
[str1 str2 str3]
结论:range是赋值拷贝
2. 在函数的参数传递
func Handler() {
strArr := []string{"str1", "str2", "str3"}
fmt.Println("before call func:", strArr)
strFuncTest(strArr)
fmt.Println("after call func:", strArr)
}
func strFuncTest(strArr []string) {
strArr[0] = "test"
}
结果:函数中对字符串切片的赋值,会改变原切片的值。
[str1 str2 str3]
[test str2 str3]
结论:函数参数的传递是传指针
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
您可能感兴趣的文章:- Go语言中切片使用的注意事项小结
- 深入理解Go语言中的数组和切片
- 深入解析Go语言编程中slice切片结构
- GO语言数组和切片实例详解
- go语言中的二维切片赋值