golang学习总结

最近在学习Golang,跟java区别不是很大,语法有些差别,所以边学边总结一下:

1、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]",前面加的是"*"标识符,意思是根据内存插槽中存入的指针取指针指向的实际值。

posted @ 2018-07-02 18:19  dba_xyx  阅读(231)  评论(0编辑  收藏  举报