一、Go定義數組和切片
數組是一種固定長度且容量不可改變的數據類型,而切片則允許動態增長。在Go語言中,聲明並初始化一個數組需要指定其長度,例如:
var arr [3]int // 聲明一個長度為3的數組 arr[0] = 1 arr[1] = 2 arr[2] = 3
可以使用下標訪問數組元素,也可以使用range語句遍曆數組:
for i, v := range arr { fmt.Printf("arr[%d] = %d\n", i, v) }
定義一個切片很簡單,沒有固定的長度:
var slice = []int{1, 2, 3} // 定義一個切片並初始化 slice = append(slice, 4) // 在結束處添加元素
如上述代碼所示,可以使用append函數在切片的末尾添加元素,這樣可以動態增加切片的大小。
二、Go定義數值常量
在Go中,可以使用const關鍵字定義常量:
const Pi = 3.1415926
常量是使用大寫字母作為名稱,以便在包外部訪問。常量的值必須在編譯時確定,也不能修改。
三、Go數組相關操作
1. 數組初始化
Go語言中,可以在定義數組時直接初始化,例如:
var arr = [3]string{"Hello", "world", "!"}
可以使用數組索引訪問數組元素:
fmt.Println(arr[0]) // 輸出Hello
2. 數組遍歷
使用for循環可以遍曆數組:
for i := 0; i < len(arr); i++ { fmt.Println(arr[i]) // 依次輸出數組元素 }
還可以使用range語句來遍曆數組:
for i, v := range arr { fmt.Printf("arr[%d] = %s\n", i, v) }
3. 數組複製
在Go語言中,可以使用copy函數將一個數組的值複製到另一個數組中:
var b = [3]string{"copy", "array", "!"} copy(arr, b) // 將b的值複製到arr中
四、Python數組與Go數組對比
Python語言也支持數組,但其數組是動態類型的,可以存儲任何類型的元素。在定義一個Python數組時,不需要指定其長度:
arr = [1, 'a', True] # 定義一個包含整數、字符和布爾值的數組
與Go不同,Python中的數組支持正負索引,並且可以使用切片動態增長或縮小數組的大小,例如:
arr = [1, 2, 3, 4, 5] arr = arr[:-1] # 刪除數組末尾元素 print(arr) # 輸出[1, 2, 3, 4]
正如上述例子所示,使用arr[:-1]可以刪除數組末尾的元素。
五、總結
Go語言中的數組是一種靜態類型的容器,長度和容量都是固定的。Go還提供了切片來動態增長數組的大小。在使用Go數組時,可以使用range語句遍曆數組元素,還可以使用copy函數將一個數組的值複製到另一個數組中。與之相比,Python數組是動態類型的,可以存儲任何類型的元素,還可以使用切片動態增長或縮小數組的大小。
原創文章,作者:AZPX,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/132140.html