回答編集履歴

1

補足追記

2020/01/13 17:39

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -9,3 +9,49 @@
9
9
  私の判断基準は構造体フィールドセットが有限である事が確実な場合のみ値型を利用します。それ以外はポインタ型です。
10
10
 
11
11
  なので、ほとんどのケースでポインタ型を利用します。
12
+
13
+
14
+
15
+ 私の考える例外は以下の様な場合です。
16
+
17
+ スライスと異なり配列は非参照型で代入や引数渡しの際に常にコピーが走ります。
18
+
19
+ [https://play.golang.org/p/1yXLAyZiMct](https://play.golang.org/p/1yXLAyZiMct)
20
+
21
+ ```go
22
+
23
+ package main
24
+
25
+
26
+
27
+ import (
28
+
29
+ "fmt"
30
+
31
+ )
32
+
33
+
34
+
35
+ type Vector2D [2]float32
36
+
37
+
38
+
39
+ func (v Vector2D) Add(n Vector2D) Vector2D {
40
+
41
+ return Vector2D{n[0] + v[0], n[1] + v[1]}
42
+
43
+ }
44
+
45
+
46
+
47
+ func main() {
48
+
49
+ v1 := Vector2D{1.2, 2.4}
50
+
51
+ v2 := Vector2D{2.2, 4.4}
52
+
53
+ fmt.Println(v1.Add(v2))
54
+
55
+ }
56
+
57
+ ```