golang中數組指針和指針數組當做函數參數如何修改數組中的值


先理解:數組指針它的類型時指針,指針數組它的類型時數組

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])  // 馬亞南
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM