先理解:數組指針它的類型時指針,指針數組它的類型時數組
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]) // 馬亞南 }