为什么不起作用?它可以与:=运算符一起使用,但是为什么我们不能在这里使用=运算符呢?
package main
import "fmt"
type Vertex struct {
X, Y int
}
func main() {
v1 = Vertex{1, 2} // has type Vertex
v2 = Vertex{X: 1} // Y:0 is implicit
v3 = Vertex{} // X:0 and Y:0
p = &Vertex{1, 2} // has type *Vertex
fmt.Println(v1, p, v2, v3)
}
最佳答案
您可以通过多种方式创建新的Vertex
类型的实例:
1:var c Circle
您可以使用.
运算符访问字段:
package main
import "fmt"
type Vertex struct {
X, Y int
}
func main() {
var f Vertex
f.X = 1
f.Y = 2
fmt.Println(f) // should be {1, 2}
}
2:使用
:=
运算符package main
import "fmt"
type Vertex struct {
X, Y int
}
func main() {
f := Vertex{1, 2}
fmt.Println(f) // should be {1, 2}
}
关于go - Golang结构中的operator =和:=,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45252693/