1. 程式人生 > >Golang學習筆記(六)運算子

Golang學習筆記(六)運算子

實在是沒有什麼好寫的,寫幾個函式來體現幾個運算子。

新建一個go file,新增三個變數

var a = 21.0
var b = 5.0
var c float64

建一個函式來體現算術運算子

func Arithmetic() {
	c = a + b
	fmt.Printf("第1行 - c 的值為 %f\n", c)
	c = a - b
	fmt.Printf("第2行 - c 的值為 %f\n", c)
	c = a * b
	fmt.Printf("第3行 - c 的值為 %f\n", c)
	c = a / b
	fmt.Printf("第4行 - c 的值為 %f\n", c)

	fmt.Printf("第5行 - c 的值為 %d\n", int(a)%int(b))
	a++
	fmt.Printf("第6行 - c 的值為 %f\n", a)
	a--
	fmt.Printf("第7行 - c 的值為 %f\n", a)
}

第五行是為了求餘數,所以將兩個float轉成了int

 

再建一個函式來體現關係運算符

func Relational() {
	if (a == b) {
		fmt.Printf("第1行   a等於b \n")
	} else {
		fmt.Printf("第1行   a不等於b \n")
	}
	if (a < b) {
		fmt.Printf("第2行   a小於b \n")
	} else {
		fmt.Printf("第2行   a不小於b \n")
	}
	if (a > b) {
		fmt.Printf("第1行   a大於b \n")
	} else {
		fmt.Printf("第1行   a不大於b \n")
	}
}

 

建一個函式來體現位移運算子

func Bitwise() {
	fmt.Printf("%d\n", 252&63)
	fmt.Printf("%d\n", 178|94)
	fmt.Printf("%d\n", 20^5)
	fmt.Printf("%d\n", 3<<4)
	fmt.Printf("%d\n", 11>>2)
}

 

建一個函式來體現邏輯運算子

func Logical() {
    a := true
    b := false
    if ( a && b ){
    	fmt.Printf("第1行 - 條件為 true\n")
	}
	if ( a || b ){
		fmt.Printf("第2行 - 條件為 true\n")
	}
	if ( a && b ){
		fmt.Printf("第3行 - 條件為 true\n")
	} else {
		fmt.Printf("第3行 - 條件為 false\n")
	}
	if (!( a && b )){
		fmt.Printf("第4行 - 條件為 true\n")
	}
}

 

建一個函式來體現賦值運算子

func Assignment(){
	c = a
	fmt.Printf("第1行 = 運算子例項,c值為 = %f\n",c)
	c += a
	fmt.Printf("第2行 += 運算子例項,c值為 = %f\n",c)
	c -= a
	fmt.Printf("第3行 -= 運算子例項,c值為 = %f\n",c)
	c *= a
	fmt.Printf("第4行 *= 運算子例項,c值為 = %f\n",c)
	c /= a
	fmt.Printf("第5行 /= 運算子例項,c值為 = %f\n",c)

	//位移賦值
	d := 200
	d <<= 2
	fmt.Printf("第6行 <<= 運算子例項,d值為 = %d\n",d)
	d >>= 2
	fmt.Printf("第7行 >>= 運算子例項,d值為 = %d\n",d)
	d &= 2
	fmt.Printf("第8行 &= 運算子例項,d值為 = %d\n",d)
	d |= 2
	fmt.Printf("第9行 |= 運算子例項,d值為 = %d\n",d)
	d ^= 2
	fmt.Printf("第10行 ^= 運算子例項,d值為 = %d\n",d)
}