go语言学习笔记三 指针,常用运算符

1.指针的定义,使用,赋值

package main

import "fmt"

func main() {
	var i int64 = 1
	fmt.Println("i地址:",  &i)
	// 定义指针ptr 值为变量i的地址
	var ptr *int64 = &i
	fmt.Printf("ptr的地址:%v; ptr的值%v\n", ptr, *ptr)
	i = 10
	// 修改变量i的值,指针ptr的值也会修改
	fmt.Printf("ptr的地址:%v; ptr的值%v; i的地址:%v; i的值:%v\n", ptr, *ptr, &i, i)
	// 修改指针的值,变量也会修改
	*ptr = 100
	fmt.Printf("ptr的地址:%v; ptr的值%v; i的地址:%v; i的值:%v\n", ptr, *ptr, &i, i)

}

输出结果

i地址: 0xc000014070
ptr的地址:0xc000014070; ptr的值1
ptr的地址:0xc000014070; ptr的值10; i的地址:0xc000014070; i的值:10
ptr的地址:0xc000014070; ptr的值100; i的地址:0xc000014070; i的值:100

2.算术运算符

假定 A 值为 10,B 值为 20

运算符 描述 示例
+ 相加 A + B 输出结果 30
- 相减 A - B 输出结果 -10
* 相乘 A * B 输出结果 200
/ 相除 B / A 输出结果 2
% 求余 B % A 输出结果 0
++ 自增 A++ 输出结果 11
自减 A-- 输出结果 9

3.关系运算符

假定 A 值为 10,B 值为 20

运算符 描述 示例
== 检查两个值是否相等,如果相等返回 True 否则返回 False。 (A == B) 为 False
!= 检查两个值是否不相等,如果不相等返回 True 否则返回 False。 (A != B) 为 True
> 检查左边值是否大于右边值,如果是返回 True 否则返回 False。 (A > B) 为 False
< 检查左边值是否小于右边值,如果是返回 True 否则返回 False。 (A < B) 为 True
>= 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。 (A >= B) 为 False
<= 检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。 (A <= B) 为 True

4.逻辑运算符

假定 A 值为 True,B 值为 False。

运算符 描述 示例
&& 逻辑 AND 运算符。 如果两边的操作数都是 True,则条件 True,否则为 False (A && B) 为 False
|| 逻辑 OR 运算符。 如果两边的操作数有一个 True,则条件 True,否则为 False。 (A || B) 为 True
! 逻辑 NOT 运算符。 如果条件为 True,则逻辑 NOT 条件 False,否则为 True。 !(A && B) 为 True

5.赋值运算符

运算符 描述 示例
= 简单的赋值运算符,将一个表达式的值赋给一个左值 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

6.其他运算符

运算符 描述 示例
& 返回变量存储地址 &a; 将给出变量的实际地址
* 指针变量 *a; 是一个指针指向变量的值

猜你喜欢

转载自blog.csdn.net/qq_38165374/article/details/105221879
今日推荐