doumeng3188 2018-08-21 17:18
浏览 74
已采纳

打印指针变量

I created 2 Vertex objects below- q & q.

Now, when I print the pointer variable q = &Vertex, I expected it to be the memory address, why is it printing the - &{1,2}

Output:

{1 2} &{1 2}

Program:

package main

import "fmt"

type Vertex struct {
    X, Y int
}

var (
    p = Vertex{1, 2}  // has type Vertex
    q = &Vertex{1, 2} // has type *Vertex
)

func main() {
    fmt.Println(p, q)
}

Playground

  • 写回答

2条回答 默认 最新

  • douzi7890 2018-08-21 17:22
    关注

    From https://golang.org/pkg/fmt/ :

    Println formats using the default formats for its operands

    If you want to print in a specific way, you need to use fmt.Printf() and supply the format you want.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?