データ型
基本型
整数
- 符号付き整数: 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を推奨している