"cast" 在 Golang 中到底在做什么?

What exactly is this "cast" doing in Golang?

谁能给我指明 Go 语法的正确方向:

(*int)(nil)

如果我有一个给定类型的值,并且我想将它转换为,比方说,float64,我可以这样做:

var num int = 65
fnum := float64(num)

如果我有一个接口并且我想将其“转换”为某种类型,我可以这样做:

func main() {
    concretevalue := dosomething("hello!")
    fmt.Printf("%T : %v", concretevalue, concretevalue)
}

func dosomething( v interface{} ) string {
    return v.(string)
}

(*int)(nil) 放在哪里?我如何获取有关此特定语法的信息?

它是一个类型转换,与float64(num)一样,但是,因为转换的类型是一个指针,所以你需要额外的括号,否则*int(nil)将意味着转换nil到 int,然后取消引用它。