[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
|
prefix string
|
||||||
)
|
)
|
||||||
|
|
||||||
>他の値や`iota`に設定されているものを除いて、各`const`グループのはじめの定数はデフォルトで0となります。二番目以降の定数は前の定数の値がデフォルト値となります。もし前の定数の値が`iota`であれば、直後の値も`iota`になります。
|
|
||||||
|
|
||||||
### iota列挙型
|
### iota列挙型
|
||||||
|
|
||||||
Goでは`iota`というキーワードがあります。このキーワードは`enum`を宣言する際に使用されます。このデフォルト値は0からはじまり、順次1が追加されます:
|
Goでは`iota`というキーワードがあります。このキーワードは`enum`を宣言する際に使用されます。このデフォルト値は0からはじまり、順次1が追加されます:
|
||||||
@@ -246,6 +244,8 @@ Goでは`iota`というキーワードがあります。このキーワードは
|
|||||||
e, f, g = iota, iota, iota //e=0,f=0,g=0 iotaの同一行は同じです
|
e, f, g = iota, iota, iota //e=0,f=0,g=0 iotaの同一行は同じです
|
||||||
)
|
)
|
||||||
|
|
||||||
|
>他の値や`iota`に設定されているものを除いて、各`const`グループのはじめの定数はデフォルトで0となります。二番目以降の定数は前の定数の値がデフォルト値となります。もし前の定数の値が`iota`であれば、直後の値も`iota`になります。
|
||||||
|
|
||||||
### Goプログラムのデザインルール
|
### Goプログラムのデザインルール
|
||||||
Goがこのように簡潔なのは、それがいくつかのデフォルトの行為を持っているからです:
|
Goがこのように簡潔なのは、それがいくつかのデフォルトの行為を持っているからです:
|
||||||
- 大文字で始まる変数はエクスポート可能です。つまり、他のパッケージから読むことができる、パブリックな変数だということです。対して小文字で始まる変数はエクスポートできません。これはプライベート変数です。
|
- 大文字で始まる変数はエクスポート可能です。つまり、他のパッケージから読むことができる、パブリックな変数だということです。対して小文字で始まる変数はエクスポートできません。これはプライベート変数です。
|
||||||
@@ -379,6 +379,19 @@ sliceには便利な操作があります
|
|||||||
注:`append`関数は`slice`が参照した配列の内容を変更し得ます。そのため、参照先と同一の配列の他の`slice`にも影響します。
|
注:`append`関数は`slice`が参照した配列の内容を変更し得ます。そのため、参照先と同一の配列の他の`slice`にも影響します。
|
||||||
しかし`slice`の中に余分なスペースが無い(`(cap-len) == 0`)場合、動的なメモリから新たな配列空間が割り当てられます。返される`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
|
||||||
|
|
||||||
`map`の概念もPythonのディクショナリです。この形式は`map[keyType]valueType`です。
|
`map`の概念もPythonのディクショナリです。この形式は`map[keyType]valueType`です。
|
||||||
@@ -448,6 +461,8 @@ mapを使う段階で注意しなければならないことがいくつかあ
|
|||||||
|
|
||||||
図2.5 makeとnewの低レイヤでのメモリの割り当て
|
図2.5 makeとnewの低レイヤでのメモリの割り当て
|
||||||
|
|
||||||
|
|
||||||
|
## ゼロ値
|
||||||
"ゼロ値"というのは何も空の値ではありません。これは一種の"変数が埋めらる前"のデフォルト値であり、通常は0です。
|
"ゼロ値"というのは何も空の値ではありません。これは一種の"変数が埋めらる前"のデフォルト値であり、通常は0です。
|
||||||
それぞれの型のゼロ値は以下の通りです
|
それぞれの型のゼロ値は以下の通りです
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user