Go言語_演算子
算術演算子
四則演算
package main
import "fmt"
func main() {
a, b := 10, 5
// 四則演算
fmt.Printf("%d\n", a+b) // 15
fmt.Printf("%d\n", a-b) // 5
fmt.Printf("%d\n", a*b) // 50
fmt.Printf("%d\n", a/b) // 2
// 余り
a, b = 13, 3
fmt.Printf("%d\n", a%b) // 1
}
ビット演算
package main
import "fmt"
func main() {
a, b := 255, 85 // 11111111, 01010101
// 論理積
fmt.Printf("%08b\n", a&b) // 01010101
// 論理和
fmt.Printf("%08b\n", a|b) // 11111111
//排他的論理和
fmt.Printf("%08b\n", a^b) // 10101010
// 論理積の否定
fmt.Printf("%08b\n", a&^b) // 10101010
//算術シフト
c, d := 15, 240 // 00001111, 11110000
fmt.Printf("%08b\n", c<<4) // 11110000
fmt.Printf("%08b\n", d>>4) // 00001111
}
三項演算子
Goには三項演算子は存在しません。
比較演算子
比較演算子はC言語と同様の表記であり、下記6種類が定義されています。
package main
import "fmt"
func main() {
a, b := 3, 5
if a == b {
fmt.Println("等しい")
} else if a > b {
fmt.Println("より大きい")
} else if a >= b {
fmt.Println("以上")
} else if a < b {
fmt.Println("より小さい")
} else if a <= b {
fmt.Println("以下")
} else if a != b {
fmt.Println("等しくない")
}
}
論理演算子
論理演算子は、左の項から順番に評価し、演算子の結果として true か false のいずれかに決定した段階で評価をやめて true または false を返します。
「短絡評価」、「ショートサーキット評価」と呼ばれる評価方式です。
// 論理積(AND)
x && y
// 論理和(OR)
x || y
// 否定(NOT)
!x
関連ページ
- Go言語_プログラムの作成
- Go言語_コマンドライン引数
- Go言語_変数と型
- Go言語_コンポジット型
- Go言語_制御構文
- Go言語_関数
- Go言語_演算子
- Go言語_メソッド
- Go言語_インターフェース