前言
在所有編程語言中都涉及到大量的字符串操作,可見熟悉對字符串的操作是何等重要。本文通過示例詳細(xì)介紹了Go語言實(shí)現(xiàn)字符串切片賦值的方法,感興趣的朋友們跟著小編一起來看看吧。
1. 在for循環(huán)的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)} |
結(jié)果:對v的賦值,不會(huì)改變字符創(chuàng)切片的值。
1
2
3
4
|
0 str1 1 str2 2 str3 [str1 str2 str3] |
結(jié)論:range是賦值拷貝
2. 在函數(shù)的參數(shù)傳遞
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" } |
結(jié)果:函數(shù)中對字符串切片的賦值,會(huì)改變原切片的值。
1
2
|
[str1 str2 str3] [test str2 str3] |
結(jié)論:函數(shù)參數(shù)的傳遞是傳指針
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。