演算子(算術・比較・論理)をGoのプログラムで確認する

Go言語
この記事は約8分で読めます。
Go初学者
Go初学者

Go言語の演算は、他のプログラミング言語と違うのかな?

この記事ではGo言語の演算子について理解することができます!
  • Go言語での算術演算子について
  • Go言語での比較演算子について
  • Go言語での論理演算子について

Go言語での演算子は他のプログラミング言語と一緒です。

すでに他のプログラミング言語を学習済みの方は復習として、プログラミング初学者の方はきちんと覚えておくことで他のプログラミング言語を学習したときに役立つことでしょう。

それでは、コードを混じえてお伝えしていきます。

もりぴ
この記事を書いた人

XHTML1.0時代にHTML&CSSを勉強した経験あり。無趣味だった私が2020年5月からプログラミング学習を開始し現在も挫折せずに趣味で学習を楽しんでいる51歳。プログラミングの楽しさをブログを通してお伝えしていきます。

もりぴをフォローする

算術演算子

算術演算子は基本的な足し算・引き算・かけ算・割り算・剰余算やプログラミングで多く使用されるインクリメント(1を足す)やデクリメント(1を引く)のことです。

それでは、ひとつづつコードを確認していきましょう。

足し算

足し算では数値だけでなく、文字も足し算することができます。

// 算術演算子・足し算
package main

import "fmt"

func main() {
    // 足し算
    fmt.Println(1 + 2)

    // 文字の足し算
    fmt.Println("あいう" + "えお")
}
// 出力結果
$ go run main.go 
3
あいうえお

引き算

// 算術演算子・引き算
package main

import "fmt"

func main() {
    // 引き算
    fmt.Println(3 - 1)
}
// 出力結果
$ go run main.go
2

かけ算

かけ算は算数では「×」ですが、プログラミングでは * を使用します。

// 算術演算子・かけ算
package main

import "fmt"

func main() {
    // かけ算
    fmt.Println(4 * 5)
}
// 出力結果
$ go run main.go
20

割り算

かけ算は算数では「÷」ですが、プログラミングでは / を使用します。

// 算術演算子・割り算
package main

import "fmt"

func main() {
    // 割り算
    fmt.Println(6 / 2)
}
// 出力結果
$ go run main.go
3

剰余算(あまり算)

剰余算(あまり算)は、割り算で割り切れないあまりを出力します。

倍数を求めるときに使用される算術演算子です。

もりぴ
もりぴ

3の倍数を求めたい時は3で割るとあまりが0になりますね。このような形で使用されます。

// 算術演算子・剰余算
package main

import "fmt"

func main() {
    // 剰余算(あまり算)
    fmt.Println(7 % 3)
}
// 出力結果
$ go run main.go
1  // 7÷3のあまりは1です

代入演算

変数を用いた演算で、プログラミングでは省略した形を用いられます。

// 代入演算
package main

import "fmt"

func main() {
    // 代入演算
    var num int = 0

    // num = num + 5と同じ意味
    num += 5
    fmt.Println(num)

    // num = num - 3と同じ意味
    num -= 3
    fmt.Println(num)
}
// 出力結果
$ go run main.go
5  // num = 0 + 5 の計算結果になります
2  // num = 5 - 3 の計算結果になります

インクリメント

インクリメントは増加などの意味を持つ単語で、プログラミングでは変数に1を足す演算として用いられます。

// インクリメント
package main

import "fmt"

func main() {
    var num int = 0

    // num = num + 1の場合は下記のように記述できる
    num++
    fmt.Println(num)
}
// 出力結果
$ go run main.go
1

ポイントはnum = num + 1の場合は、 num++ となるところです。

デクリメント

デクリメントは減少などの意味を持つ単語で、プログラミングでは1を減らす演算として用いられます。

// デクリメント
package main

import "fmt"

func main() {
	var num int = 1
	// num = num - 1の場合は下記のように記述できる
	num--
	fmt.Println(num)
}
// 出力結果
$ go run main.go
0

インクリメントとデクリメントはfor文などでよく使用されますので、きちんと押さえておきましょう。

比較演算子

比較演算子は正しい(true:真)か正しくない(false:偽)を返す演算子になります。

基本的には数学で用いられる比較演算子と一緒ですが、同じ値を示す = に関しては、プログラミングでは = = イコールを2つ使用するところに違いがあります。

もりぴ
もりぴ

ちなみにイコールが1つの場合は「代入」になります。

// 比較演算子
package main

import "fmt"

func main() {
    // 値が等しいかどうか
    // 出力はbool型で返す(trueかfalseか)
    fmt.Println("1 == 1 は?", 1 == 1) // true
    fmt.Println("1 == 2 は?", 1 == 2) // false

    // 値が等しくない場合をtrueで判定する場合
    // 逆に等しい場合はfalse
    fmt.Println("1 != 2 は?", 1 != 2) // != は等しくない
    fmt.Println("1 != 1 は?", 1 != 1)

    // 数値の大きさを比較
    // 出力はbool型で返す(trueかfalseか)
    fmt.Println("3 <= 5 は?", 3 <= 5) // 以上
    fmt.Println("3 >= 5 は?", 3 >= 5) // 以下
    fmt.Println("3 < 5 は?", 3 < 5)   // 右辺よりも左辺が大きい
    fmt.Println("3 > 5 は?", 3 > 5)   // 右辺よりも左辺が小さい
}
// 出力結果
$ go run main.go
1 == 1 は? true
1 == 2 は? false
1 != 2 は? true
1 != 1 は? false
3 <= 5 は? true
3 >= 5 は? false
3 < 5 は? true
3 > 5 は? false

あと混乱しそうなのが not演算子 != で、正しくなければ true という点に注意が必要です。

論理演算子

論理演算子は、比較演算子と合わせて使用されます。

論理演算子で知っておくこと!
  • && 左辺と右辺が両方共trueであればtrueを返す
  • && どちらかがfalseであればfalseを返す
  • || どちらかがtrueであればtrueを返す
  • || 左辺と右辺が両方共falseであればfalseを返す
  • ! trueであればfalseを返す
  • ! falseであればtrueを返す
// 論理演算子
package main

import "fmt"

func main() {
    fmt.Println("true && true は?", true && true) // true
    fmt.Println("true && false は?", true && false) // false

    fmt.Println("true || false は?", true || false)   // true
    fmt.Println("true || true は?", true || true)     // true
    fmt.Println("false || false は?", false || false) // false

    fmt.Println("!true は?", !true) //false
    fmt.Println("!false は?", !false) //true
}
// 出力結果
$ go run main.go
true && true は? true
true && false は? false
true || false は? true
true || true は? true
false || false は? false
!true は? false
!false は? true

【最後に】Go言語での演算子

今回は演算子についてお伝えしてきましたが、Go言語だから特別な演算子があるのではなく他のプログラミング言語と同じです。

これから実際にプログラムを書くにあたって演算子は必要不可欠ですから、きちんと覚えておきましょう!

comment

タイトルとURLをコピーしました