質問編集履歴
7
微修正
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -49,8 +49,4 @@
|
|
|
49
49
|
len=2 cap=2 [0 1]
|
|
50
50
|
len=5 cap=8 [0 1 2 3 4]
|
|
51
51
|
```
|
|
52
|
-
となり、4行目が`cap=8`となっており、さらに混乱しました。
|
|
52
|
+
となり、4行目が`cap=8`となっており、さらに混乱しました。
|
|
53
|
-
|
|
54
|
-
# 考察
|
|
55
|
-
現時点で理由として考えているのは以下です。
|
|
56
|
-
- PlayGroundのGoのバージョンがローカルのバージョン(1.14)と異なり、appendによって新しく作られるSliceの、デフォルトで確保されるcapacityのサイズが異なる
|
6
微修正
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
となり、4行目が`cap=8`となっており、さらに混乱しました。
|
|
53
53
|
|
|
54
54
|
# 考察
|
|
55
|
-
現時点で理由として考えているのは
|
|
55
|
+
現時点で理由として考えているのは以下です。
|
|
56
56
|
- PlayGroundのGoのバージョンがローカルのバージョン(1.14)と異なり、appendによって新しく作られるSliceの、デフォルトで確保されるcapacityのサイズが異なる
|
5
追記
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -49,4 +49,8 @@
|
|
|
49
49
|
len=2 cap=2 [0 1]
|
|
50
50
|
len=5 cap=8 [0 1 2 3 4]
|
|
51
51
|
```
|
|
52
|
-
となり、4行目が`cap=8`となっており、さらに混乱しました。
|
|
52
|
+
となり、4行目が`cap=8`となっており、さらに混乱しました。
|
|
53
|
+
|
|
54
|
+
# 考察
|
|
55
|
+
現時点で理由として考えているのはikadesu.
|
|
56
|
+
- PlayGroundのGoのバージョンがローカルのバージョン(1.14)と異なり、appendによって新しく作られるSliceの、デフォルトで確保されるcapacityのサイズが異なる
|
4
修正
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
func printSlice(s []int) {
|
|
27
|
-
fmt.Printf("len=%d
|
|
27
|
+
fmt.Printf("len=%d cap=%d %v\n", len(s), cap(s), s)
|
|
28
28
|
}
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
ローカルでの実行結果は以下となります。
|
|
32
32
|
```zsh
|
|
33
33
|
➜ a-tour-of-go git:(master) ✗ go run more-types/46-appending-to-a-slice/main.go master
|
|
34
|
-
len=0
|
|
34
|
+
len=0 cap=0 []
|
|
35
|
-
len=1
|
|
35
|
+
len=1 cap=1 [0]
|
|
36
|
-
len=2
|
|
36
|
+
len=2 cap=2 [0 1]
|
|
37
|
-
len=5
|
|
37
|
+
len=5 cap=6 [0 1 2 3 4]
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
実行結果4行目`cap=6`の理由を教えて頂けないでしょうか。
|
3
追記
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
}
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
実行結果は以下となります。
|
|
31
|
+
ローカルでの実行結果は以下となります。
|
|
32
32
|
```zsh
|
|
33
33
|
➜ a-tour-of-go git:(master) ✗ go run more-types/46-appending-to-a-slice/main.go master
|
|
34
34
|
len=0, cap=0 []
|
2
url追加
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
ローカルマシンのGoのバージョン:`go version go1.14 darwin/amd64`
|
|
2
2
|
|
|
3
|
-
A Tour of Goで、Sliceへのappendを解説する、以下のコードがあります。
|
|
3
|
+
A Tour of Goで、[Sliceへのappendを解説する、以下のコードがあります。](https://tour.golang.org/moretypes/15)
|
|
4
4
|
```go
|
|
5
5
|
package main
|
|
6
6
|
|
1
微修正
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
ローカルマシンのGoのバージョン:`go version go1.14 darwin/amd64`
|
|
2
|
+
|
|
1
3
|
A Tour of Goで、Sliceへのappendを解説する、以下のコードがあります。
|
|
2
4
|
```go
|
|
3
5
|
package main
|
|
@@ -36,4 +38,15 @@
|
|
|
36
38
|
```
|
|
37
39
|
|
|
38
40
|
実行結果4行目`cap=6`の理由を教えて頂けないでしょうか。
|
|
39
|
-
`[0 1 2 3 4]`なので、capacityも`5`になると考えました。
|
|
41
|
+
`[0 1 2 3 4]`なので、capacityも`5`になると考えました。
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
余談ですが、A Tour of Goの画面右のPlayGroundで実行すると
|
|
46
|
+
```go
|
|
47
|
+
len=0 cap=0 []
|
|
48
|
+
len=1 cap=2 [0]
|
|
49
|
+
len=2 cap=2 [0 1]
|
|
50
|
+
len=5 cap=8 [0 1 2 3 4]
|
|
51
|
+
```
|
|
52
|
+
となり、4行目が`cap=8`となっており、さらに混乱しました。
|