Skip to content

Commit 8e73c55

Browse files
committed
[ja] apply patch
1 parent 6e67892 commit 8e73c55

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

ja/02.2.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,6 @@ Go言語では、複数の定数・変数を宣言する場合、または複数
227227
prefix string
228228
)
229229

230-
>他の値や`iota`に設定されているものを除いて、各`const`グループのはじめの定数はデフォルトで0となります。二番目以降の定数は前の定数の値がデフォルト値となります。もし前の定数の値が`iota`であれば、直後の値も`iota`になります。
231-
232230
### iota列挙型
233231

234232
Goでは`iota`というキーワードがあります。このキーワードは`enum`を宣言する際に使用されます。このデフォルト値は0からはじまり、順次1が追加されます:
@@ -246,6 +244,8 @@ Goでは`iota`というキーワードがあります。このキーワードは
246244
e, f, g = iota, iota, iota //e=0,f=0,g=0 iotaの同一行は同じです
247245
)
248246

247+
>他の値や`iota`に設定されているものを除いて、各`const`グループのはじめの定数はデフォルトで0となります。二番目以降の定数は前の定数の値がデフォルト値となります。もし前の定数の値が`iota`であれば、直後の値も`iota`になります。
248+
249249
### Goプログラムのデザインルール
250250
Goがこのように簡潔なのは、それがいくつかのデフォルトの行為を持っているからです:
251251
- 大文字で始まる変数はエクスポート可能です。つまり、他のパッケージから読むことができる、パブリックな変数だということです。対して小文字で始まる変数はエクスポートできません。これはプライベート変数です。
@@ -379,6 +379,19 @@ sliceには便利な操作があります
379379
注:`append`関数は`slice`が参照した配列の内容を変更し得ます。そのため、参照先と同一の配列の他の`slice`にも影響します。
380380
しかし`slice`の中に余分なスペースが無い(`(cap-len) == 0`)場合、動的なメモリから新たな配列空間が割り当てられます。返される`slice`配列のポインタはこの空間を指しています。また、もとの配列の内容は変わりません。この配列を参照している他の`slice`は影響を受けません。
381381

382+
Go1.2より、sliceは三引数のsliceをサポートするようになりました。以前まで我々は以下のような方法でsliceまたはarrayからsliceを取り出していました
383+
384+
var array [10]int
385+
slice := array[2:4]
386+
387+
この例ではsliceの要素数は8で、新しいバージョンでは以下のように要素数を指定することができます
388+
389+
slice = array[2:4:7]
390+
391+
上の要素数は`7-2`、即ち5となります。このように生成された新しいsliceでは最後の3つの要素にアクセスする方法がなくなります。
392+
393+
もしsliceが`array[:i:j]`のような形式だった場合は、第一引数は空と見なされ、デフォルトの0となります。
394+
382395
### map
383396

384397
`map`の概念もPythonのディクショナリです。この形式は`map[keyType]valueType`です。
@@ -448,6 +461,8 @@ mapを使う段階で注意しなければならないことがいくつかあ
448461

449462
図2.5 makeとnewの低レイヤでのメモリの割り当て
450463

464+
465+
## ゼロ値
451466
"ゼロ値"というのは何も空の値ではありません。これは一種の"変数が埋めらる前"のデフォルト値であり、通常は0です。
452467
それぞれの型のゼロ値は以下の通りです
453468

0 commit comments

Comments
 (0)