Go中字符串是一个字节切片。数据结构
经过for循环字符串能够获得每一个字节。函数
Go中字符串是不可变的。一旦字符串被建立,它将没法修改。code
咱们想修改一个字符串,须要将其转化为一个rune切片,以后在转化成一个字符串。字符串
func mutate(s []rune) string{ s[0] = ‘a’ return string(s) } func main(){ h := “hello” print mutate([]rune(h)) }
经过make函数传入键值,能够建立map。string
make(map[type of key] type of value)
personSalary := make(map[string]int)
上面map的键是string类型,值是int类型。for循环
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存在,反之不存在。遍历
for key, value := range personSalary{ print key, value }
使用for range遍历map时,不能保证每次执行获取元素的顺序相同。map
使用delete(map, key),删除map元素。 使用len(map),获取map长度。
当map被赋值一个新变量时,他们指向同一个内部数据结构,改变一个变量,会影响另外一个变量。
map之间不能使用 == 操做符,== 只用来检查map是否为nil。 判断两个map是否相等方法,是遍历比较两个map中每一个元素。