Go言語の演算子一覧と使い方!算術・比較・論理演算子をわかりやすく解説
生徒
「Go言語で計算をするときには、どんな書き方をするんですか?」
先生
「Go言語では『演算子(えんざんし)』という記号を使って、足し算や引き算、条件のチェックなどができます。」
生徒
「演算子って難しそうですね……」
先生
「大丈夫。中学校で習うような記号ばかりだから、安心して。ひとつずつ、使い方を確認していきましょう!」
1. 演算子とは?
演算子とは、値と値の間に置いて何かの計算や比較をするための記号です。たとえば、足し算には+、引き算には-を使います。
Go言語の演算子には、大きく分けて次の3種類があります:
- 算術演算子(+ - * / %)
- 比較演算子(== != > < >= <=)
- 論理演算子(&& || !)
2. 算術演算子の使い方
算術演算子は、数字を計算するときに使う記号です。以下の表のような意味になります。
+:足し算-:引き算*:掛け算/:割り算%:割ったあとの余り
a := 10
b := 3
fmt.Println(a + b) // 足し算
fmt.Println(a - b) // 引き算
fmt.Println(a * b) // 掛け算
fmt.Println(a / b) // 割り算(整数)
fmt.Println(a % b) // 余り
割り算は整数どうしだと、結果も整数になります(小数点以下は切り捨てられます)。
3. 比較演算子の使い方
比較演算子は、2つの値を比べて、同じかどうか、大きいか小さいかを判断するための記号です。
==:等しい!=:等しくない>:大きい<:小さい>=:以上<=:以下
x := 5
y := 10
fmt.Println(x == y) // false
fmt.Println(x != y) // true
fmt.Println(x < y) // true
fmt.Println(x >= y) // false
これらの演算子は、trueまたはfalseという結果を返します。これは「本当かどうか」を意味します。
4. 論理演算子の使い方
論理演算子は、条件が複数あるときに使う記号です。2つ以上の条件を組み合わせるときに使います。
&&(AND):両方がtrueのときだけtrue||(OR):どちらかがtrueならtrue!(NOT):trueをfalseに、falseをtrueに変える
a := true
b := false
fmt.Println(a && b) // false
fmt.Println(a || b) // true
fmt.Println(!a) // false
複数の条件を判断する場面では、論理演算子がとても役立ちます。
5. よくあるエラーと注意点
演算子を使うときに初心者がよく間違えるポイントも紹介しておきます。
- 代入と比較の違い:
=は代入、==は比較なので混同しないこと - 整数どうしの割り算:小数点以下は切り捨てられる
- 論理演算子の優先順位:
!は優先度が高く、&&より先に処理される
まとめ
Go言語の演算子は、プログラムを書く上で欠かせない大切な要素です。とくに算術演算子、比較演算子、論理演算子は、どんなアプリケーションでも必ず使われるため、しっかり理解しておくことでプログラム全体の動作を正確に把握できるようになります。算術演算子では数値の計算、比較演算子では値どうしの比較、論理演算子では複数の条件をまとめて判断することができ、それぞれが役割を持って連携することで、より複雑な処理も自然と書けるようになります。 また、演算子を適切に選ぶことは、プログラムの正確性だけでなく読みやすさにも直結します。「どのような条件で判断しているのか」「どのような計算をしているのか」が明確に見えるコードは、後から見返したときの理解がしやすく、ミスも減らせるので、初心者が最初に身につけるべき重要な基礎です。演算子はシンプルに見えて奥が深いので、実際に手を動かしながら確実に身につけていきましょう。
さらに、論理演算子を組み合わせることで、複雑な条件を簡潔に表現できるようになります。たとえば「年齢が20以上で、かつ学生である」など、複数の要素をまとめて判断する場面では&&や||の理解が不可欠です。こうした条件式はプログラムの分岐処理やバリデーションなどで頻繁に使われ、演算子の使い方ひとつでコードの読みやすさが大きく変わるため、慣れるほどに開発効率も向上していきます。
演算子を組み合わせたサンプルコード
ここでは、算術・比較・論理演算子を組み合わせたサンプルを紹介します。実際に動かしてみると、演算子の働きがよりよく理解できます。
package main
import "fmt"
func main() {
score := 85
age := 20
fmt.Println("合計点の計算:", score + 15)
fmt.Println("点数が100以上か?:", score >= 100)
passed := score >= 80
isAdult := age >= 18
fmt.Println("合格条件を満たすか?:", passed && isAdult)
if passed && isAdult {
fmt.Println("おめでとうございます!条件を満たしました。")
} else {
fmt.Println("もう少しがんばりましょう。")
}
}
このプログラムでは、点数の計算に算術演算子を、条件のチェックに比較演算子を、さらに複数条件をまとめるために論理演算子を使っています。日常的な処理の中でも自然と使われる演算子なので、こうした小さなサンプルを積み重ねて慣れていきましょう。
生徒
「演算子って難しそうだと思っていましたが、意味がわかると意外とシンプルなんですね!」
先生
「そうでしょう。記号の種類と働きを覚えてしまえば、どんどん自然に使えるようになりますよ。」
生徒
「特に、比較演算子と論理演算子の組み合わせがとても便利だと感じました。条件をまとめて判断できるのは強力ですね。」
先生
「ええ、実務でも頻繁に使われる部分なので、身につけておくととても役に立ちますよ。これから条件分岐や繰り返し処理を学ぶときにも役立ちます。」
生徒
「今日学んだ内容をしっかり復習して、演算子の使い方をもっと慣れていきたいです!」