golang中算数运算、位运算、逻辑运算、赋值运算常用方法

package main

import "fmt"

var a = 21.0
var b = 5.0

//var c float64

func main() {
	Arithmetic()  // 算数运算
	BitOperation()  // 位运算
	LogicalOperation()  // 逻辑运算
	Assignment()  // 赋值运算
}

func Arithmetic() {
	/* 算术运算符 */
	fmt.Println(a + b)
	fmt.Println(a - b)
	fmt.Println(a * b)
	fmt.Println(a / b)
	fmt.Println(int(a) % int(b)) // float无法求余数,需要转换成int类型
	a++
	fmt.Println(a)
	a--
	fmt.Println(a)
}

func BitOperation() {
	/* 位运算 */
	fmt.Println(252 & 63)  // 60
	fmt.Println(178 | 94)  // 254
	fmt.Println(20 ^ 5)  // 17
	fmt.Println(3 << 2)  // 12
	fmt.Println(11 >> 2)  // 2
}

func LogicalOperation() {
	/* 逻辑运算 */
	a := true
	b := false
	if a && b {
		fmt.Println(true)
	} else {
		fmt.Println(false)
	}
	if a || b {
		fmt.Println(true)
	} else {
		fmt.Println(false)
	}
	if !(a && b) {
		fmt.Println(true)
	} else {
		fmt.Println(false)
	}
}

func Assignment() {
	/* 赋值运算符 */
	c := a
	fmt.Println(c)
	c += a
	fmt.Println(c)
	c -=a
	fmt.Println(c)
	c *= a
	fmt.Println(c)
	c /= a
	fmt.Println(c)

	// 位移赋值
	d := 200
	d <<= 2
	fmt.Println(d)  // 800
	d >>= 2
	fmt.Println(d)  // 200
	d &= 2
	fmt.Println(d)  // 0
	d |= 2
	fmt.Println(d)  // 2
	d ^= 2
	fmt.Println(d)  // 0
}

运算符优先级:

  

 

posted @ 2021-09-28 10:23  专职  阅读(108)  评论(0编辑  收藏  举报