Golang学习之路一六运算符

Golang学习之路一六运算符,第1张

Golang学习之路一六运算符 Golang学习之路一六运算符 算数运算符 符号说明+相加-相减*相乘/相除%求余++自增–自减
package main

import "fmt"

func main() {
	a := 10
	b := 6
	// +
	fmt.Println(a+b)
	// -
	fmt.Println(a-b)
	// *
	fmt.Println(a*b)
	// /
	fmt.Println(a/b)
	// %
	fmt.Println(a%b)
	// ++
	fmt.Println(a)
	a++
	fmt.Println(a)
	// -
	fmt.Println(b)
	b--
	fmt.Println(b)
}
关系运算符 符号说明==等于!=不等于>大于<小于>=大于等于<=小于等于
package main

import "fmt"

func main() {
	a := 10
	b := 6
	// ==
	fmt.Println(a==b)
	// !=
	fmt.Println(a!=b)
	// >
	fmt.Println(a>b)
	// <
	fmt.Println(a=
	fmt.Println(a>=b)
	// <=
	fmt.Println(a<=b)
	// ==
	fmt.Println(a==b)
}
逻辑运算符 符号说明&&与!非
package main

import "fmt"

func main() {
	a := 10
	b := 6
	c := 6
	// &&
	fmt.Println(a > b && b >= c)
	// ||
	fmt.Println(a > b || b > c)
	// !
	var d bool
	fmt.Println(!d)
}

赋值运算符 运算符描述实例=简单的赋值运算符,将一个表达式的值赋给一个左值C = A + B 将 A + B 表达式结果赋值给 C+=相加后再赋值C += A 等于 C = C + A-=相减后再赋值C -= A 等于 C = C - A*=相乘后再赋值C *= A 等于 C = C * A/=相除后再赋值C /= A 等于 C = C / A%=求余后再赋值C %= A 等于 C = C % A<<=左移后赋值C <<= 2 等于 C = C << 2>>=右移后赋值C >>= 2 等于 C = C >> 2&=按位与后赋值C &= 2 等于 C = C & 2^=按位异或后赋值C ^= 2 等于 C = C ^ 2=按位或后赋值 位运算 运算符描述实例&按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。(A & B) 结果为 12, 二进制为 0000 1100按位或运算符"^按位异或运算符"^"是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为 1。(A ^ B) 结果为 49, 二进制为 0011 0001<<左移运算符"<<“是双目运算符。左移 n 位就是乘以 2 的 n 次方。 其功能把”<<“左边的运算数的各二进位全部左移若干位,由”<<"右边的数指定移动的位数,高位丢弃,低位补 0。A << 2 结果为 240 ,二进制为 1111 0000>>右移运算符">>“是双目运算符。右移 n 位就是除以 2 的 n 次方。 其功能是把”>>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数。A >> 2 结果为 1
package main

import "fmt"

func main() {

	var a uint = 60      
	var b uint = 13      
	var c uint = 0

	c = a & b       
	fmt.Println(c)

	c = a | b       
	fmt.Println(c)

	c = a ^ b       
	fmt.Println(c)

	c = a << 2     
	fmt.Println(c)

	c = a >> 2     
	fmt.Println(c)
}
其他运算符 运算符描述实例&返回变量存储地址&a; 将给出变量的实际地址。*指针变量。*a; 是一个指针变量
package main

import "fmt"

func main() {
	var a int = 4
	var b int32
	var c float32
	var ptr *int

	
	fmt.Printf("a 变量类型为 = %Tn", a );
	fmt.Printf("b 变量类型为 = %Tn", b );
	fmt.Printf("c 变量类型为 = %Tn", c );

	
	ptr = &a     
	fmt.Printf("a 的值为  %dn", a);
	fmt.Printf("*ptr 为 %dn", *ptr);
}
运算符优先级

有些运算符拥有较高的优先级,二元运算符的运算方向均是从左至右。下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:

优先级运算符5* / % << >> & &^4+ - ^3== != < <= > >=2&&1

当然,我们可以通过使用括号来临时提升某个表达式的整体运算优先级。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5707053.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存