golang學習總結

最近在學習Golang,跟java區別不是很大,語法有些差異,因此邊學邊總結一下:java

一、golang指針中&和*的區別?golang

package main

import "fmt"

const MAX int = 3

func main() {
    a := []int{10,100,200}
/*    for i=0; i<MAX ; i++  {
        fmt.Printf("a[d%] = %d\n", i, a[i])
    }*/
    var ptrray [MAX]*int
    for j :=0; j<MAX ; j++  {
        ptrray[j] =&a[j] /*整數地址複製給指針數組*/
    }

    for a :=0; a<MAX ; a++  {
        fmt.Printf("a[%d] = %d\n", a, *ptrray[a])
    }
}

看上面這段代碼,在給ptrray數組挨個賦值時賦值的是a數組的指針地址(java中的內存地址),用「&a[j]」寫法,golang中&取的是指針。數組

打印的時候"*pttrray[a]",前面加的是"*"標識符,意思是根據內存插槽中存入的指針取指針指向的實際值。學習

相關文章
相關標籤/搜索