Go 字符串和map

字符串

Go中字符串是一個字節切片。數據結構

經過for循環字符串能夠獲得每一個字節。函數

字符串是不可變的

Go中字符串是不可變的。一旦字符串被建立,它將沒法修改。code

咱們想修改一個字符串,須要將其轉化爲一個rune切片,以後在轉化成一個字符串。字符串

func mutate(s []rune) string{
	s[0] = ‘a’
	return string(s)
}

func main(){
	h := 「hello」
	print mutate([]rune(h))
}

如何建立map

經過make函數傳入鍵值,能夠建立map。string

make(map[type of key] type of value)
personSalary := make(map[string]int)

上面map的鍵是string類型,值是int類型。for循環

給map添加元素

func main(){
	personSalary := make(map[string] int)
	personSalary[「steve」] = 12000
	personSalary[「mike」] = 15000
}

也能夠在聲明時進行初始化:變量

personSalary := map[string] int{
	「steve」 : 12000,
	「jamie」 : 25000,
}

獲取map中不存在key的值不會報錯,而會返回對應類型的零值。循環

value, ok := map[key]

若是ok爲true表示key存在,反之不存在。遍歷

循環map

for key, value := range personSalary{
	print key, value
}

使用for range遍歷map時,不能保證每次執行獲取元素的順序相同。map

使用delete(map, key),刪除map元素。 使用len(map),獲取map長度。

map是引用類型

當map被賦值一個新變量時,他們指向同一個內部數據結構,改變一個變量,會影響另外一個變量。

map相等判斷

map之間不能使用 == 操做符,== 只用來檢查map是否爲nil。 判斷兩個map是否相等方法,是遍歷比較兩個map中每一個元素。

相關文章
相關標籤/搜索