「Go/キーワードと宣言済み識別子」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
→‎宣言済み識別子: DL化、内部リンク、{{Anchor}}
タグ: 2017年版ソースエディター
29 行
| publisher = The Go website
}}</ref>。
;宣言済み識別子:<source lang="text">
:;[[#組込み型|組込み型]]
型:
::; [[#論理型|論理型]]
bool byte complex64 complex128 error float32 float64
::: [[#Bool|bool]]
int int8 int16 int32 int64 rune string
::; [[#数値型|数値型]]
uint uint8 uint16 uint32 uint64 uintptr
:::;[[#符号なし整数|符号なし整数]]: uint uint8 uint16 uint32 uint64
 
:::;[[#符号付き整数型|符号付き整数型]]: int int8 int16 int32 int64
定数:
:::;[[#浮動小数点型|浮動小数点型]]: float32 float64
true false iota
:::;[[#複素数型|複素数型]]: complex64 complex128
 
:::;[[#別名|別名]]: byte rune
値ゼロ:
:::;ポインターを変換なく保持できる整数型: uintptr
nil
:::; [[#文字列型|文字列型]] : string
 
:::; [[#エラー|エラー]] : error
関数:
:; 定数:
append cap close complex copy delete imag len
:: true false iota
make new panic print println real recover
:; 値ゼロ:
</source>
:: nil
:; [[#組込み関数|組込み関数]]
:: append cap close complex copy delete imag len
:: make new panic print println real recover
 
=== 組込み型 ===
51 ⟶ 55行目:
| title = The Go Programming Language Specification
| chapter = Types ¶
| quote = The language predeclares certain type names. Others are introduced with type declarations.
| date = Jul 26, 2021
| publisher = The Go website
63 ⟶ 68行目:
 
==== 論理型 ====
込み型 '''{{Anchor|bool}}''' は論理型(''boolean type'') です。
論理型は事前に宣言された定数 '''{{Anchor|true}}''' と '''{{Anchor|false}}''' で示される論理真理値の集合を表します。定義済[[#組込み型|組込]]です<ref name="Boolean_types">{{cite book
| url = https://golang.org/ref/spec#Boolean_types
| title = The Go Programming Language Specification
81 ⟶ 86行目:
}}</ref>。
 
;{{Anchor|符号なし整数}}
:;uint8 :すべての符号なし8ビット整数(0~255)の集合
:;uint16 :すべての符号なし16ビット整数(0~65535)の集合
:;uint32 :すべての符号なし32ビット整数(0~4294967295)の集合
:;uint64 :すべての符号なし64ビット整数(0~18446744073709551615)の集合
;{{Anchor|符号付き整数}}
:;int8 :すべての符号付き8ビット整数(-128~127)の集合
:;int16 :すべての符号付き8ビット整数(-32768 ~32767)の集合
:;int32 :すべての符号付き8ビット整数(-2147483648 ~2147483647)の集合
:;int64 :すべての符号付き8ビット整数(-9223372036854775808 ~9223372036854775807)の集合
;{{Anchor|浮動小数点数}}
:;float32 :IEEE-754の32ビット浮動小数点数の集合
:;float64 :IEEE-754の64ビット浮動小数点数の集合
;{{Anchor|複素数}}
:;complex64 :float32の実数部と虚数部を持つすべての複素数の集合
:;complex128 :float64mappuの実数部と虚数部を持つすべての複素数の集合
;{{Anchor|別名}}
:;byte :uint8の別名
:;rune :int32の別名
107 ⟶ 112行目:
 
==== 文字列型 ====
込み型 '''{{Anchor|string}}''' は論理、文字列型(''string type'') です<ref name="String_types">{{cite book
| url = https://golang.org/ref/spec#String_types
| title = The Go Programming Language Specification
114 ⟶ 119行目:
| publisher = The Go website
}}</ref>。
文字列型は、文字列値(''string values'')の集合を表します。文字列の値は、(空の場合もある)バイトの列です。バイトの数は文字列の長さと呼ばれ、負の値にはなりません。文字列は不変(''immutable'')です。一度作成した文字列の内容を変更することはできません。
 
文字列 s の長さは,組み込み関数 [[#Len|len]] を使って知ることができます。文字列が定数の場合,長さはコンパイル時の定数となります。文字列のバイトは,0からlen(s)-1までの整数の添字でアクセスできます。
要素のアドレスを取ることは違法です。s[i]が文字列のi番目のバイトである場合、&s[i]は無効です。
 
==== エラー ====
込み型 '''error''' は次のように定義されています<ref name="Errors">{{cite book
| url = https://golang.org/ref/spec#Errors
| title = The Go Programming Language Specification
141 ⟶ 146行目:
組込み関数は、Goの標準的な型を持たないので、呼び出し式の中でのみ登場し、関数の値としては使えません。
 
==== closeクローズ ====
チャンネルcに対して、組込み関数'''{{Anchor|close}}'''(c)は、そのチャンネルでそれ以上の値が送信されないことを記録します<ref name="Close">{{cite book
| url = https://golang.org/ref/spec#Close
| title = The Go Programming Language Specification
156 ⟶ 161行目:
 
==== 長さと容量 ====
組込み関数 '''{{Anchor|len}}''' と '''{{Anchor|cap}}''' は、様々な型の引数を取り、int型の結果を返します。実装では、結果が常にint型に収まることが保証されています<ref name="Length_and_capacity">{{cite book
| url = https://golang.org/ref/spec#Length_and_capacity
| title = The Go Programming Language Specification
191 ⟶ 196行目:
 
==== 割当て ====
組込み関数 '''{{Anchor|new}}''' は,型Tを受け取り,実行時にその型の変数のためのストレージを確保し,その変数を指す*T型の値を返します。この変数は,[[#初期値|初期値]]の項で説明したように初期化されます<ref name="Allocation">{{cite book
| url = https://golang.org/ref/spec#Allocation
| title = The Go Programming Language Specification
205 ⟶ 210行目:
 
==== スライス、マップ、チャンネルの作成 ====
組込み関数 '''{{Anchor|make}}''' は,スライス型,マップ型,チャネル型でなければならないT型を受け取り,任意で型固有の式のリストを続けます。
この関数は,T型の値を返します(*Tではありません)。
メモリは,初期値の項で述べたように初期化されます。<ref name="Making_slices_maps_and_channels">{{cite book
233 ⟶ 238行目:
 
==== スライスの追加とコピー ====
組込み関数 '''{{Anchor|append}}''' '''{{Anchor|copy}}''' は、一般的なスライス操作を支援します。どちらの関数も、引数で参照されるメモリが重なっているかどうかに関係なく、結果が得られます<ref name="Appending_and_copying_slices">{{cite book
| url = https://golang.org/ref/spec#Appending_and_copying_slices
| title = The Go Programming Language Specification
246 ⟶ 251行目:
 
==== マップ要素の削除 ====
組込み関数 ''{{Anchor|delete}}'' は,キーkを持つ要素をマップmから削除します。kの型はmのキーの型に割り当て可能でなければなりません<ref name="Deletion_of_map_elements">{{cite book
| url = https://golang.org/ref/spec#Deletion_of_map_elements
| title = The Go Programming Language Specification
257 ⟶ 262行目:
 
==== 複素数の操作 ====
3つの関数が複素数を組み立てたり分解したりします。組込み関数 ''{{Anchor|complex}}'' は,浮動小数点の実部と虚部から複素数値を構成し,''{{Anchor|real}}'' と ''{{Anchor|imag}}'' は複素数値の実部と虚部を抽出します<ref name="Complex_numbers">{{cite book
| url = https://golang.org/ref/spec#Complex_numbers
| title = The Go Programming Language Specification
274 ⟶ 279行目:
 
==== パニックへの対応 ====
'''{{Anchor|panic}}''' と '''{{Anchor|recover}}''' という2つの組込み関数は、ランタイムパニックやプログラム定義のエラー状態の報告と処理を支援します<ref name="Handling_panics">{{cite book
| url = https://golang.org/ref/spec#Handling_panics
| title = The Go Programming Language Specification
294 ⟶ 299行目:
!関数!!動作
|-
| {{Anchor|print}} || すべての引数を表示します。引数のフォーマットは実装によって異なります。
|-
| {{Anchor|println}} || printと同じですが、引数の間にスペースを入れ、最後に改行を入れます。
|}