本教材由知了传课辛苦制作而成,仅供学习使用,请勿用于商业用途!如进行转载请务必注明出处!谢谢!

运算符补充

一、其他运算符

运算符 术语 示例 说明
& 取地址运算符 &a 变量a的地址
* 取值运算符 *a 指针变量a所指向内存的值

1. &

取址符,就像变量刚创建出来就会放在内存里面,我们用&就能查到它在内存中的位置例如:

var a int =5 fmt.printf("%p\n",&a)//就能打印出内存地址了

2. *

就是到内存中把这个变量的值给取出来。

var a int =5 fmt.printf("%d\n",*&a) //为什么要加&号呢?首先我们要找到a变量在内存中的地址

二、运算符优先级

在Go语言中,一元运算符拥有最高的优先级,二元运算符的运算方向均是从左至右。

下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:

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

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

1573人已阅读,今天你学习了吗?

添加新回复