前言
在所有編程語(yǔ)言中都涉及到大量的字符串操作,可見(jiàn)熟悉對(duì)字符串的操作是何等重要。本文通過(guò)示例詳細(xì)介紹了Go語(yǔ)言實(shí)現(xiàn)字符串切片賦值的方法,感興趣的朋友們跟著小編一起來(lái)看看吧。
1. 在for循環(huán)的range中
func StrRangeTest() {
str := []string{"str1", "str2", "str3"}
for i, v := range str {
fmt.Println(i, v)
v = "test"
}
fmt.Println(str)}
結(jié)果:對(duì)v的賦值,不會(huì)改變字符創(chuàng)切片的值。
0 str1
1 str2
2 str3
[str1 str2 str3]
結(jié)論:range是賦值拷貝
2. 在函數(shù)的參數(shù)傳遞
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ù)中對(duì)字符串切片的賦值,會(huì)改變?cè)衅闹怠?/p>
[str1 str2 str3]
[test str2 str3]
結(jié)論:函數(shù)參數(shù)的傳遞是傳指針
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
您可能感興趣的文章:- Go語(yǔ)言中切片使用的注意事項(xiàng)小結(jié)
- 深入理解Go語(yǔ)言中的數(shù)組和切片
- 深入解析Go語(yǔ)言編程中slice切片結(jié)構(gòu)
- GO語(yǔ)言數(shù)組和切片實(shí)例詳解
- go語(yǔ)言中的二維切片賦值