前言
在所有編程語言中都涉及到大量的字符串操作,可見熟悉對字符串的操作是何等重要。本文通過示例詳細介紹了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語言中的二維切片賦值