【Go言語の勉強】2日目 基本的な変数や型など
■ 目次
■ 目次1. 基本的な記述例2. Go言語の変数の基本的な型について2.1. 【真偽値型】 編2.2. 【数値型】 編複素数その他文字列型2.3. 【変数の宣言の方法】 編2.4. 【新しい型の定義/構造体】 編3. 様々な変数の細かな違いなど3.1. 宣言の仕方3.2. 文字列の演算子比較4. 定数について5. mainパッケージについて6. 配列について6.1. 通常の宣言6.2. 可変長の配列も可能6.3. 配列の大きさを調べる6.4. スライス6.5. マップ(map)7. メソッドについて8. 演算子について8.1. イクリメントとデクリメントの違い8.2. ブランク識別子(_)8.3. 変数宣言のグルーピング8.4. 0とNullとnill■ まとめとして
1. 基本的な記述例
2. Go言語の変数の基本的な型について
2.1. 【真偽値型】 編
真偽値型に含まれるのは1種だけで、初期値は【false(偽)】です。
型名 | 説明 |
---|---|
bool | 真(true)または偽(false)を格納する型 |
2.2. 【数値型】 編
符号なし整数
サイズ違いの物が多いけど、基本的にはuint型を使用する
型名 | 説明 | 値の範囲 |
---|---|---|
uint | 32/64ビットの符号なし整数型 | (環境依存) |
uint8 | 8ビット符号なし整数型 | 0 ~ 255 |
uint16 | 16ビット符号なし整数型 | 0 ~ 65535 |
uint32 | 32ビット符号なし整数型 | 0 ~ 4294967295 |
uint64 | 64ビット符号なし整数型 | 0 ~ 18446744073709551615 |
uintptr | ポインタの値を表現するには十分なサイズの符号なし整数型 | (環境依存) |
符号付き整数
符号なし整数と同様に、基本的にはint型を使用する
型名 | 説明 | 値の範囲 |
---|---|---|
int | 32/64ビットの符号付き整数型(サイズはuint型と同じ) | (環境依存) |
int8 | 8ビット符号付き整数型 | -128 ~ 127 |
int16 | 16ビット符号付き整数型 | -32768 ~ 32767 |
int32 | 32ビット符号付き整数型 | -2147483648 ~ 2147483647 |
int64 | 64ビット符号付き整数型 | -9223372036854775808 ~ 9223372036854775807 |
浮動小数点数
2種類あるため、状況の精度に応じて使用する
型名 | 説明 |
---|---|
float32 | IEEE-754形式の32ビット浮動小数点数 |
float64 | IEEE-754形式の64ビット浮動小数点数 |
複素数
わからん。
型名 | 説明 |
---|---|
complex64 | 実数部・虚数部をfloat32で表現する複素数型 |
complex128 | 実数部・虚数部をfloat64で表現する複素数型 |
その他
バイト単位、文字列単位のデータを扱う際に使用する型が2種類ある
型名 | 説明 |
---|---|
byte | uint8のエイリアス |
rune | int32のエイリアス |
文字列型
文字列型は1種類のみ
型名 | 説明 |
---|---|
string | 文字列を格納する型 |
2.3. 【変数の宣言の方法】 編
varまたは、省略方法で宣言する。
↓型を省略できるが、動的型付けではなく、代入値で初期化できる場合に限る
注意点 : Go言語は宣言した変数を使っていない場合はエラーになる。
2.4. 【新しい型の定義/構造体】 編
宣言時は、typeキーワードで新しい型として認識させる。
3. 様々な変数の細かな違いなど
3.1. 宣言の仕方
var を使う方法
宣言と初期化を同時に行う型の方法(早い模様)
関数内に限り演算子 := を使うとvarも省ける方法
複数の変数を一度に初期化方法
変数の宣言で初期値はゼロ(0)、論理値はFalse(偽)
3.2. 文字列の演算子比較
4. 定数について
ソースファイルの中で、同じパッケージスコープ内に定義しておく必要がある。また、定数として予め定義して使うのは便利だが、定義して使わない場合はエラーになる。Constの例 として、Paiの中に3.14を定数として代入
5. mainパッケージについて
main パッケージは特殊で、main関数 = エントリーポイントが唯一存在できるパッケージである。但し、main パッケージのソースファイルの中にはmain関数は1つのみ存在が可能
6. 配列について
6.1. 通常の宣言
int型の要素数3の配列を宣言と初期化もできる
6.2. 可変長の配列も可能
6.3. 配列の大きさを調べる
組み込み関数のlen()を使用する
6.4. スライス
スライスは可変長の配列と同じ効果があるが、要素数を指定しなくても使える。
6.5. マップ(map)
連想配列で、配列の初期化時に呼び出し用のキーと値を入力できる。
7. メソッドについて
int型などにはメソッドは関連付けれないけど、構造体のようなtypeで新たに定義された型には関連付けれる。
8. 演算子について
8.1. イクリメントとデクリメントの違い
変数の後ろにのみつけることができる
単独で使用しなければならない
8.2. ブランク識別子(_)
ブランク識別子(_)は、値などを受け入れるが変数のようには使用不可使用例
8.3. 変数宣言のグルーピング
()でグルーピングが可能使用例
8.4. 0とNullとnill
Go言語ではポインタにはゼロ(0)を代入する事は不可。代わりに、nillが採用されていて、様々な場面で初期化に使用されている。
■ まとめとして
- 文末にはセミコロン(;)は自由
- セミコロンで文を区切れば1行に複数の処理を記述可能
- 値の変数への代入はイコール(=)で可能
- 通常文字列はダブルクォート(” “)で囲み、エスケープシーケンスをそのまま文字列にする場合はシングルクォート(‘ ‘)で囲む
- 処理は波括弧 { } で囲う
- 関数定義にはfuncを使用
- 変数宣言はvarで始める
- := で代入するとその値の型が適用される変数になるなど新しいルールも存在する
- 大文字、小文字は区別される、関数名の最初の文字が大文字の場合にはグローバルスコープと扱われる
- 構造体のメンバーにアクセスにはドット(.)を使用
- パッケージが導入、パッケージのインポート
main.go
oreo.go