[ja] apply patch
This commit is contained in:
19
ja/02.2.md
19
ja/02.2.md
@@ -227,8 +227,6 @@ Go言語では、複数の定数・変数を宣言する場合、または複数
|
||||
prefix string
|
||||
)
|
||||
|
||||
>他の値や`iota`に設定されているものを除いて、各`const`グループのはじめの定数はデフォルトで0となります。二番目以降の定数は前の定数の値がデフォルト値となります。もし前の定数の値が`iota`であれば、直後の値も`iota`になります。
|
||||
|
||||
### iota列挙型
|
||||
|
||||
Goでは`iota`というキーワードがあります。このキーワードは`enum`を宣言する際に使用されます。このデフォルト値は0からはじまり、順次1が追加されます:
|
||||
@@ -246,6 +244,8 @@ Goでは`iota`というキーワードがあります。このキーワードは
|
||||
e, f, g = iota, iota, iota //e=0,f=0,g=0 iotaの同一行は同じです
|
||||
)
|
||||
|
||||
>他の値や`iota`に設定されているものを除いて、各`const`グループのはじめの定数はデフォルトで0となります。二番目以降の定数は前の定数の値がデフォルト値となります。もし前の定数の値が`iota`であれば、直後の値も`iota`になります。
|
||||
|
||||
### Goプログラムのデザインルール
|
||||
Goがこのように簡潔なのは、それがいくつかのデフォルトの行為を持っているからです:
|
||||
- 大文字で始まる変数はエクスポート可能です。つまり、他のパッケージから読むことができる、パブリックな変数だということです。対して小文字で始まる変数はエクスポートできません。これはプライベート変数です。
|
||||
@@ -379,6 +379,19 @@ sliceには便利な操作があります
|
||||
注:`append`関数は`slice`が参照した配列の内容を変更し得ます。そのため、参照先と同一の配列の他の`slice`にも影響します。
|
||||
しかし`slice`の中に余分なスペースが無い(`(cap-len) == 0`)場合、動的なメモリから新たな配列空間が割り当てられます。返される`slice`配列のポインタはこの空間を指しています。また、もとの配列の内容は変わりません。この配列を参照している他の`slice`は影響を受けません。
|
||||
|
||||
Go1.2より、sliceは三引数のsliceをサポートするようになりました。以前まで我々は以下のような方法でsliceまたはarrayからsliceを取り出していました
|
||||
|
||||
var array [10]int
|
||||
slice := array[2:4]
|
||||
|
||||
この例ではsliceの要素数は8で、新しいバージョンでは以下のように要素数を指定することができます
|
||||
|
||||
slice = array[2:4:7]
|
||||
|
||||
上の要素数は`7-2`、即ち5となります。このように生成された新しいsliceでは最後の3つの要素にアクセスする方法がなくなります。
|
||||
|
||||
もしsliceが`array[:i:j]`のような形式だった場合は、第一引数は空と見なされ、デフォルトの0となります。
|
||||
|
||||
### map
|
||||
|
||||
`map`の概念もPythonのディクショナリです。この形式は`map[keyType]valueType`です。
|
||||
@@ -448,6 +461,8 @@ mapを使う段階で注意しなければならないことがいくつかあ
|
||||
|
||||
図2.5 makeとnewの低レイヤでのメモリの割り当て
|
||||
|
||||
|
||||
## ゼロ値
|
||||
"ゼロ値"というのは何も空の値ではありません。これは一種の"変数が埋めらる前"のデフォルト値であり、通常は0です。
|
||||
それぞれの型のゼロ値は以下の通りです
|
||||
|
||||
|
||||
Reference in New Issue
Block a user