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; 是一個指針指向變量的值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章