go的 & 和 * 的區別,以及應用場景

wanghang發表於2021-02-20

& 在go中是直接取地址符
但是在第二項返回的是&{} 而不是0x…地址
這個就不太理解了

package main

import "fmt"

type Test struct {
    name string
}

func main() {
    test := Test{"test"}
    fmt.Println(test)
    //結果{test}

    testa := &Test{"test"}
    fmt.Println(testa)
    //結果 &{test}

    testc := &Test{"test"}
    fmt.Println(*testc)
    //結果 {test}


    testd := &Test{"test"}
    fmt.Println(&testd)
    //結果 0xc000006030
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章