型別/語言 | 陣列 | 切片 | map |
---|---|---|---|
PHP | 陣列能夠在單個變數中儲存多個值,單維陣列與其他語言差不多,但是多維陣列就是不一樣了。 | 沒有切片概念,通過單維陣列就完事。可以使用 [] 來定義陣列,實現同樣的效果 |
沒有map概念,就是多維陣列 |
Python | 沒有陣列的概念,通過元組,list實現。注意,元組是不可修改的。 | 就是我們們的list | 就是我們們的dict |
Golang | 陣列是具有相同唯一型別的一組已編號且長度固定的資料項序列,這種型別可以是任意的原始型別例如整形、字串或者自定義型別。注意,陣列長度不可以改變 | 切片是對陣列的抽象,可以改變長度。 | map 是一種無序的鍵值對的集合 |
陣列
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
切片
無
沒有切片概念,通過單維陣列就完事。可以使用 []
來定義陣列,實現同樣的效果
map
// 二維陣列:
$cars = array (
array("Volvo",100,96),
array("BMW",60,59),
array("Toyota",110,100)
);
列印如下:
Array
(
[0] => Array
(
[0] => Volvo
[1] => 100
[2] => 96
)
[1] => Array
(
[0] => BMW
[1] => 60
[2] => 59
)
[2] => Array
(
[0] => Toyota
[1] => 110
[2] => 100
)
)
陣列
沒有陣列的概念,通過元組,list實現。注意,元組是不可修改的。
list:
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
元組:
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]
切片
就是我們們的list ,例子在上面
map
就是我們們的dict
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']
陣列
package main
import "fmt"
func main() {
var n [10]int /* n 是一個長度為 10 的陣列 */
var i,j int
/* 為陣列 n 初始化元素 */
for i = 0; i < 10; i++ {
n[i] = i + 100 /* 設定元素為 i + 100 */
}
/* 輸出每個陣列元素的值 */
for j = 0; j < 10; j++ {
fmt.Printf("Element[%d] = %d\n", j, n[j] )
}
}
執行結果如下:
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
切片
切片是可索引的,並且可以由 len() 方法獲取長度。
切片提供了計算容量的方法 cap() 可以測量切片最長可以達到多少。
package main
import "fmt"
func main() {
var numbers = make([]int,3,5)
printSlice(numbers)
}
func printSlice(x []int){
fmt.Printf("len=%d cap=%d slice=%v\n",len(x),cap(x),x)
}
結果如下:
len=3 cap=5 slice=[0 0 0]
map
package main
import "fmt"
func main() {
var countryCapitalMap map[string]string /*建立集合 */
countryCapitalMap = make(map[string]string)
/* map插入key - value對,各個國家對應的首都 */
countryCapitalMap [ "France" ] = "巴黎"
countryCapitalMap [ "Italy" ] = "羅馬"
countryCapitalMap [ "Japan" ] = "東京"
countryCapitalMap [ "India " ] = "新德里"
/*使用鍵輸出地圖值 */
for country := range countryCapitalMap {
fmt.Println(country, "首都是", countryCapitalMap [country])
}
/*檢視元素在集合中是否存在 */
capital, ok := countryCapitalMap [ "American" ] /*如果確定是真實的,則存在,否則不存在 */
/*fmt.Println(capital) */
/*fmt.Println(ok) */
if (ok) {
fmt.Println("American 的首都是", capital)
} else {
fmt.Println("American 的首都不存在")
}
}
程式碼輸出結果:
France 首都是 巴黎
Italy 首都是 羅馬
Japan 首都是 東京
India 首都是 新德里
American 的首都不存在
?謝謝
禁止 學習某地爬蟲,知乎爬蟲,CSDN 爬蟲。
本文,首發在 learnku 社群。
@author
汪春波(www.shxdledu.cn)
本作品採用《CC 協議》,轉載必須註明作者和本文連結