GO语言:运算符

189 阅读1分钟
package main

import "fmt"

func main(){
	var a int = 10
	var b int = 2
	fmt.Println(a+b, a-b, a*b, a/b, a%b)
        //加,减,乘,除,取余
}
package main

import "fmt"

func main(){
	var a = 10
	a++
	fmt.Println(a)
	
	var b = 10
	b--
	fmt.Println(b)
        
        //只有a++, b--这种形式,且他们都不能作为左值或者右值
}
package main

import "fmt"

func main(){
	var a = 10
	var b = 9
	fmt.Println(a == b)
	fmt.Println(a != b)
	fmt.Println(a > b)
	fmt.Println(a < b)
	fmt.Println(a >= b)
	fmt.Println(a <= b)
}
package main

import "fmt"

func main(){
	var a = 10
	var b = 9
	if(a > b){
		fmt.Println("T")
	}else {
		fmt.Println("F")
	}

}
package main

import "fmt"

func main(){
	num1 := 5
	num2 := 6
        //位运算符是针对二进制数的运算
	fmt.Println(num1 & num2)
	fmt.Println(num1 | num2)
	fmt.Println(num1 ^ num2)
        fmt.Println(num1 >> 1) //右移一位相当于除以2(舍去小数部分)
	fmt.Println(num2 << 1) //左移一位相当于乘以2
}
package main

func main(){
	var num = 3
	num += 1 //相当于 num = num + 1
	num -= 1
	num *= 1
	num /= 1
	num %= 1
	num &= 1 //相当于 num = num & 1
	num |= 1
	num ^= 1
	num <<= 1//相当于 num = num << 1
	num >>= 1
	
}
package main

import "fmt"

func main(){
	var num = 3
        
        var p *int //var p = &num
	p = &num   //var p *int = &num
                   //p := &num
        
	fmt.Println(&num, *p)
        //& 取地址运算符
        //* 间接寻址运算符
}