先理解:數組指針它的類型時指針,指針數組它的類型時數組
1. 數組指針當做函數的參數
package main
import "fmt"
func changeData(dataArray *[3]string) {
// 數組指針當做函數參數
dataArray[1] = "馬亞南"
fmt.Println(dataArray) // &[張三 馬亞南 王五]
}
func main() {
userArray := &[3]string{"張三", "李四", "王五"}
changeData(userArray)
fmt.Println(userArray) // &[張三 馬亞南 王五]
}
2. 指針數組當做函數的參數
package main
import "fmt"
func changeData(dataArray [3]*string) {
// 指針數組當做函數參數
// dataArray[1]獲取到的是第二個元素的指針,在通過*獲取到第二個元素的值,然后再修改第二個元素的值
*dataArray[1] = "馬亞南"
fmt.Println(*dataArray[1]) // 馬亞南
}
func main() {
a, b, c := "張三", "歷史上", "王五"
userArray := [3]*string{&a, &b, &c}
changeData(userArray)
fmt.Println(*userArray[1]) // 馬亞南
}
