Den*_*ret 13
使用指针而不仅仅是结构文字是有用的
在其他情况下,只需使用struct literal即可.对于一个小结构,你可以考虑使用一个int
或一个问题*int
:大多数情况下int是正常的,但有时你传递一个指针,以便接收者可以修改你的int变量.
在链接到的Go tour练习中,Vertex结构很小,并且语义与任何数字大致相同.在我看来,将它直接用作结构并Scaled
在#53中定义函数就好了,如下所示:
func (v Vertex) Scaled(f float64) Vertex {
v.X = v.X * f
v.Y = v.Y * f
return v
}
Run Code Online (Sandbox Code Playgroud)
因为有
v2 := v1.Scaled(5)
Run Code Online (Sandbox Code Playgroud)
会创建一个新的顶点就像
var f2 float32 = f1 * 5
Run Code Online (Sandbox Code Playgroud)
创造一个新的float
.
这类似于如何处理标准Time
结构(此处定义),它通常保存在类型的变量中Time
而不是*Time
.
但是没有明确的规则,根据使用情况,我可以很好地保留两者Scale
和Scaled
.
归档时间: |
|
查看次数: |
1224 次 |
最近记录: |