## 一、定义
![](https://img.kancloud.cn/ad/4b/ad4bddacbc0479959e583a3ee81bc9bb_581x230.png)
## 二、初始化
~~~
package main
import "fmt"
func main() {
// 1、使用var定义一个map
var m1 map[int]string
fmt.Println(m1)
// 2、使用 := 来创建一个map
m2 := map[int]string{}
fmt.Println(m2)
m3 := make(map[int]string)
fmt.Println(m3)
// 3、指定容量
// 指定容量为10
m4 := make(map[int]string,10)
fmt.Println(m4)
}
~~~
## 三、初始化值
#### 实例1
~~~
package main
import "fmt"
func main() {
// 1、使用var定义一个map
var m1 = map[int]string{1:"aaa",2:"bbb"}
fmt.Println(m1)
// 2、使用 := 来创建一个map
m2 := map[int]string{1:"ccc",2:"ddd"}
fmt.Println(m2)
}
~~~
## 四、键值操作
~~~
package main
import "fmt"
func main() {
m1 := map[int]string{1:"ccc",2:"ddd"}
m1[1] = "aa11"
m1[3] = "ccc"
fmt.Println(m1)
//make
m2 := make(map[int]string,10)
m2[1] = "a1"
m2[2] = "b1"
fmt.Println(m2)
}
~~~
## 五、遍历
~~~
package main
import "fmt"
func main() {
m1 := map[int]string{1:"ccc",2:"ddd"}
m1[1] = "aa11"
m1[3] = "ccc"
//make
m2 := make(map[int]string,10)
m2[1] = "a1"
m2[2] = "b1"
for i,v := range m1{
fmt.Printf("%d=>%s\n",i,v)
}
for i := range m1{
fmt.Printf("%d=>%s\n",i,m1[i])
}
}
~~~
## 六、删除
~~~
package main
import "fmt"
func main() {
m1 := map[int]string{1:"ccc",2:"ddd"}
m1[1] = "aa11"
m1[3] = "ccc"
delete(m1,1)
//make
m2 := make(map[int]string,10)
m2[1] = "a1"
m2[2] = "b1"
for i,v := range m1{
fmt.Printf("%d=>%s\n",i,v)
}
}
~~~
- 一、数组
- 二、切片
- 三、copy
- 四、MAP
- 五、结构体
- 六、结构体参数
- 七、面向”对象“
- 1、匿名字段
- 2、方法
- 3、包和封装
- 4、接口
- 5、异常处理
- 八、Json
- 九、文件操作
- 1、写文件
- 2、读取文件内容
- 3、拷贝文件
- 十、反射
- 1、查看类型,字段和方法
- 2、查看匿名字段
- 3、修改基本类型的值
- 4、修改结构体的值
- 5、调用方法
- 十一、并发编程
- 1、并行和并发
- 2、协程
- 3、runtime包
- 5、channel的使用
- 6、close
- 7、定时器
- 8、select
- 9、协程同步锁
- 十二、socket编程
- 十三、Http编程
- 十四、并发爬虫和数据处理
- 1、简易爬虫实例
- 2、并发爬取图片
- 3、读文件中的数据
- 4、数据清洗
- 其他
- 1、推荐文章