这里&是取地址运算符,*是间接运算符. &a 的运算结果是一个指针,指针的类型是 a 的类型加个 *,指针所指向的类型是 a 的类型,指针所指向的地址嘛,那就是 a 的地址. *p 的运算结果就五花八门了.总之 *p 的结果是 p 所指向的东西,这个东西有这些特点:它的类型是 p 指向的类型,它所占用的地址是 p 所指向的地址. 用通俗的方法可以这么理解:在声明的过程中,使用 *,来创建指针变量:在运算过程中,& 将变量变成指针.* 将指针变成变量: int a=12; int b…
一.Python3中的运算符 强调这是Python3中的运算符 + 加法 - 减法 * 乘法 / 除法 // 整除,只要整数部分 ** 幂运算 % 取余数 == 判断是否相等 != 不等于 < 小于 <= 小于等于 and 和 且 or 或 not 非 x in y 序列y中是否含有x x not in y 序列y中是否不含有x is 判断两个引用是否指向同一个对象 例子: list…
uintptr 和 unsafe普及 uintptr 在Go的源码中uintptr的定义如下: /* uintptr is an integer type that is large enough to hold the bit pattern of any pointer. 从英文注释可以看出 uintptr是一个整形,它的大小能够容纳任何指针的位模式,它是无符号的,最大值为:18446744073709551615,怎么来的,int64最大值 * 2 +1 */ type uintptr u…