前言
在所有编程语言中都涉及到大量的字符串操作,可见熟悉对字符串的操作是何等重要。本文通过示例详细介绍了Go语言实现字符串切片赋值的方法,感兴趣的朋友们跟着小编一起来看看吧。
1. 在for循环的range中
1
2
3
4
5
6
7
|
func StrRangeTest() { str := []string{ "str1" , "str2" , "str3" } for i, v := range str { fmt.Println(i, v) v = "test" } fmt.Println(str)} |
结果:对v的赋值,不会改变字符创切片的值。
1
2
3
4
|
0 str1 1 str2 2 str3 [str1 str2 str3] |
结论:range是赋值拷贝
2. 在函数的参数传递
1
2
3
4
5
6
7
8
9
10
|
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" } |
结果:函数中对字符串切片的赋值,会改变原切片的值。
1
2
|
[str1 str2 str3] [test str2 str3] |
结论:函数参数的传递是传指针
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。