Golang 菜鳥教程

Golang 控制語句

Golang 函數(shù) & 方法

Golang 結(jié)構(gòu)體

Golang 切片 & 數(shù)組

Golang 字符串(String)

Golang 指針

Golang 接口

Golang 并發(fā)

Golang 異常(Error)

Golang 其他雜項(xiàng)

Go 數(shù)組和指針

Go編程語言或Golang中的指針是一個(gè)變量,用于存儲另一個(gè)變量的內(nèi)存地址。而數(shù)組是固定長度的序列,用于將同類元素存儲在內(nèi)存中。

您可以使用指向數(shù)組的指針,并將其作為參數(shù)傳遞給函數(shù)。為了理解這個(gè)概念,讓我們舉個(gè)實(shí)例。在下面的程序中,我們將使用一個(gè)包含5個(gè)元素的指針數(shù)組arr。我們要使用函數(shù)更新此數(shù)組。意味著在函數(shù)內(nèi)部修改數(shù)組(此處的數(shù)組為{78,89,45,56,14}),并將在調(diào)用者處反映出來。因此,這里我們采用了updatearray函數(shù),該函數(shù)具有指向數(shù)組的指針作為參數(shù)類型。使用updatearray(&arr)代碼,我們傳遞了數(shù)組的地址。函數(shù)內(nèi)(*funarr)[4] = 750 或 funarr[4] = 750 代碼使用解引用方式給數(shù)組賦新值,該值將反映在原始數(shù)組中。最后,程序?qū)⒔o出輸出[78 89 45 56 750]。

// Golang程序?qū)⒅羔槀鬟f給
//數(shù)組作為函數(shù)的參數(shù)
package main

import "fmt"

//定義個(gè)函數(shù)
func updatearray(funarr *[5]int) {

    // 使用索引值更改數(shù)組
    (*funarr)[4] = 750

    //您也可以編寫
    //上面的代碼行
    // funarr[4] = 750
}

func main() {

    //獲取指向數(shù)組的指針
    arr := [5]int{78, 89, 45, 56, 14}

    //將指針傳遞給數(shù)組
    //并執(zhí)行updatearray
    updatearray(&arr)

    //更新后的數(shù)組
    fmt.Println(arr)
}

輸出:

[78 89 45 56 750]

注意:在Golang中,不建議使用指向數(shù)組的指針作為函數(shù)的參數(shù),因?yàn)榇a變得難以閱讀。同樣,它也不是實(shí)現(xiàn)此功能的好方法。為此,您可以使用slice而不是傳遞指針。

// Golang程式來說明
//使用切片作為函數(shù)的參數(shù)
package main

import "fmt"

func updateslice(funarr []int) {

    //更新值
    //在指定的索引處
    funarr[4] = 750
}

func main() {

    //定義一個(gè)切片
    s := [5]int{78, 89, 45, 56, 14}

    //將切片傳遞到
    //函數(shù)updateslice
    updateslice(s[:])

    //顯示結(jié)果
    fmt.Println(s)
}

輸出:

[78 89 45 56 750]
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清