データ型
基本型
整数
- 符号付き整数: int int8 int16 int32 int64
- 符号なし整数: uint uint8 uint16 uint32 uint64
- byte: uint8に対するシノニムであり、生データであることを強調している
演算子
算術演算子
二項演算子
| 記号 |
説明 |
| + |
加算 |
| - |
減算 |
| * |
乗算 |
| / |
除算 |
| % |
除算の余り |
| & |
ビットごとの積(AND) |
| | |
ビットごとの和(OR) |
| ^ |
ビットごとの排他和(XOR) |
| &^ |
ビットクリアー(AND NOT) |
| « |
左シフト |
| » |
右シフト |
単行演算子
| 記号 |
説明 |
| + |
単行正(何も影響なし) |
| - |
単行否定 |
| ^ |
ビット否定 |
| ++ |
インクリメント(Cとは違い、変数が先x++) |
| – |
デクリメント(Cとは違い、変数が先x--) |
比較演算子
| 記号 |
説明 |
| == |
等しい |
| != |
等しくない |
| < |
より小さい |
| <= |
以下 |
| > |
より大きい |
| >= |
以上 |
論理演算子
アドレス演算子
| 記号 |
説明 |
| & |
変数のアドレスを得る |
| * |
変数に格納されたアドレスを解決する |
送受信演算子
チャネルからのデータ送受信に使用する。チャネルへの送信は二項演算子、チャネルからの受信は単行演算子
<-を使用する
| 例 |
説明 |
| ch <- a |
左辺のチャネルへ右辺の値を送信する |
| a = <-ch |
右辺のチャネルから値を受信する |
代入演算子
| 記号 |
説明 |
| = |
変数を代入する |
| := |
変数を定義し、初期化する。宣言のみになり、型宣言は省略になる |
浮動小数点数
複素数
Boolean
文字列
部分文字列演算
s[i:j]
文字列リテラル
ダブルクォーテーション
エスケープシーケンス
| シーケンス |
説明 |
| \a |
アラート |
| \b |
バックスペース |
| \f |
フォームフィールド |
| \n |
改行 |
| \r |
キャリッジリターン |
| \t |
タブ |
| \v |
垂直タブ |
| ' |
シングルクォート |
| " |
ダブルクォーテーション |
| \ |
バックスラッシュ |
文字列と数値の変換
数値から文字列に変換
strconvパッケージを用いる
fmt.Sprintfを用いる
x := 123
y := fmt.Sprintf("%d", x)
fmt.Println(y, strconv.Itoa(x))
文字列から数値に変換
strconvパッケージのAtoiかParseIntを用いる
x, err := strconv.Atoi("123")
y, err := strconv.ParseInt("123", 10, 64) // 基数は10で、64ビットまで
定数
constキーワードを使用して変数と同じように宣言。:=を使って宣言は出来ない
UpperCamelCaseを推奨している