当前位置: 首页 > news >正文

怎么建设淘宝那样的网站泉州百度竞价推广

怎么建设淘宝那样的网站,泉州百度竞价推广,网页设计企业网站素材库,网站建设方案论文1500Golang中的map基本介绍基本语法map声明的举例map使用的方式map的增删改查操作map的增加和更新map的删除map的查找map的遍历map切片基本介绍map排序map的使用细节基本介绍 map是key-value数据结构,又称为字段或者关联数组。类似其它编程语言的集合,在编程…

Golang中的map

    • 基本介绍
    • 基本语法
      • map声明的举例
    • map使用的方式
    • map的增删改查操作
      • map的增加和更新
      • map的删除
      • map的查找
    • map的遍历
    • map切片
      • 基本介绍
    • map排序
    • map的使用细节

基本介绍

map是key-value数据结构,又称为字段或者关联数组。类似其它编程语言的集合,在编程中是经常使用到的7

基本语法

var map变量名 map[keytype]valuetype

  • key可以是什么类型:golang中的map的key可以是很多种类型,比如bool,数字,string,指针,channel,还可以是值包含前面几个类型的接口,结构体,数组,通常为int,string。value的类型和key基本一样,通常为数字,string,map,struct。
  • 注意:slice,map还有function不可以,因为这几个没法用 ==来判断

map声明的举例

var a map[string]sting

var a map[string]int

var a map[int]sting

var a map[string]map[sting]string

注意:声明是不会分配内存的,初始化需要make,分配内存后才能赋值和使用。

package main
import ("fmt"
)func main() {//map的声明和注意事项var a map[string]string//在使用map,需要先make,make的作用就给map分配给map分配数据空间a = make(map[string]string)a["no1"] = "kunkun"a["no2"] = "kun"a["no3"] = "heizi"a["no1"] = "kun"fmt.Println(a)
}//map[no1:kun no2:kun no3:heizi]

说明:

  • 1.map在使用前一定要make
  • 2.map的key是不能重复,如果重复了,则以最后这个key-value为准
  • 3.map的value是可以相同的
  • 4.map的key-value是无序的
  • 5.make在映射中的说明:初始分配的创建取决于size,但产生的映射长度为0.size可以省略,这种情况下就会分配一个小的起始大小

map使用的方式

package main
import ("fmt"
)func main() {//第一种方式,先声明再makevar a map[string]string//在使用map,需要先make,make的作用就给map分配给map分配数据空间a = make(map[string]string)a["no1"] = "kunkun"a["no2"] = "kun"a["no3"] = "heizi"a["no1"] = "kun"fmt.Println(a)//第二种方式,声明就直接makecities := make(map[string]string)cities["no1"] = "changshang"cities["no2"] = "beijing"cities["no3"] = "shanghai"fmt.Println(cities)//第三种方式声明直接赋值heroes := map[string]string{"hero1" : "jingze", "hero3" : "wang", "hero2" : "kun", }fmt.Println("heroes=", heroes)
}/*
map[no1:kun no2:kun no3:heizi]
map[no1:changshang no2:beijing no3:shanghai]
heroes= map[hero1:jingze hero2:kun hero3:wang]
*/

map的增删改查操作

map的增加和更新

map[“key”] = value //如果可以还没有,就是增加,如果key存在就是修改

在这里插入图片描述

map的删除

  • delete(map,“key”),delete是一个内置函数,如果key存在,就删除该key-value,如果key不存在,不操作,但是也不会报错
  • 如果我们要删除map所有地key,没有一个专门的方法一次删除,可以遍历一下key,逐个删除
  • 或者map=make(…),make一个新的,让原来的成为垃圾,被gc回收

在这里插入图片描述

map的查找

package main
import ("fmt"
)func main() {cities := make(map[string]string)cities["no1"] = "changshang"cities["no2"] = "beijing"cities["no3"] = "shanghai"val, ok := cities["no1"]if ok{fmt.Println("找到了cities=", val)} else {fmt.Println("没有找到这个可以")}}//找到了cities= changshang

map的遍历

map的遍历使用for-range的结构遍历

package main
import ("fmt"
)func main() {cities := make(map[string]string)cities["no1"] = "changshang"cities["no2"] = "beijing"cities["no3"] = "shanghai"for k, v := range cities{fmt.Printf("k=%v v=%v\n",k,v)}
}/*
k=no1 v=changshang
k=no2 v=beijing
k=no3 v=shanghai
*/

map切片

基本介绍

切片 数据类型如果是map,我们称为slice of map,map切片,这样使用则map个数就可以动态变化了。

package main
import ("fmt"
)func main() {var monsters []map[string]stringmonsters = make([]map[string]string, 2)if monsters[0] == nil{monsters[0] = make(map[string]string,2)monsters[0]["name"] = "kunkun"monsters[0]["age"] = "38"}if monsters[1] == nil{monsters[1] = make(map[string]string,2)monsters[1]["name"] = "kun"monsters[1]["age"] = "18"}//动态的增加monster//先定义一个monster信息newMonster := map[string]string{"name" : "heizi","age" : "45",}monsters = append(monsters, newMonster)fmt.Println(monsters)
}//[map[age:38 name:kunkun] map[age:18 name:kun] map[age:45 name:heizi]]

map排序

  • 1.golang中没有一个专门的方法针对map的key进行排序
  • 2.golang中的map默认时无序的没注意也不是按照添加的顺序存放的,每次遍历得到的输出结果可能不一样
  • 3.golang中的map排序,是先将key进行排序,然后根据key值遍历输出即可
package main
import ("fmt""sort"
)func main() {//map的排序map1 := make(map[int]int, 10)map1[10] = 100map1[1] = 13map1[4] = 56map1[8] = 90fmt.Println(map1)//如果按照map的key的顺序进行排序输出//1.先将map的key放入到切片中//2.对切片排序//3.遍历切片,然后按照key来输出map的值var keys []intfor k, _ := range map1 {keys = append(keys, k)}//排序sort.Ints(keys)fmt.Println(keys)for _, k := range keys{fmt.Printf("map1[%v=%v \n", k, map1[k])}
}/*
map[1:13 4:56 8:90 10:100]
[1 4 8 10]
map1[1=13
map1[4=56
map1[8=90
map1[10=100
*/

map的使用细节

  • 1.map是引用类型,遵守引用类型传递的机制,在一个函数接受map,修改后,会直接修改原来的map
  • 2.map的容量达到后,再想map增加元素,会自动扩容,并不会发生panic,也就是说map能动态的增长键值对
  • 3.map的value也经常使用struct类型,(比前面value是一个map更好)比如value为Student结构体
http://www.hengruixuexiao.com/news/18426.html

相关文章:

  • 网站分页代码短视频询盘获客系统
  • 廖珍琴建盏简介seo公司服务
  • 河南企业网站建设seo运营工作内容
  • 郑州公司网站制作指数基金有哪些
  • 做58类网站需要多少钱无锡网络优化推广公司
  • 白石龙做网站网站运营主要做什么工作
  • 自己创网站百度识图扫一扫
  • 郴州网站建设公司深圳关键词自动排名
  • 一个专门做各种恐怖片的电影网站百度实时热点排行榜
  • 用css做商务网站的代码常州seo外包
  • 瓯北网站制作桂林seo排名
  • 做网站下面会有小广告线上宣传渠道和宣传方式
  • 云梦网站建设百度竞价渠道户
  • 郑州做网站排名公司舆情服务公司
  • 手机网站建设报价多少营销策划与运营方案
  • 做网站的图片要求大小百度推广助手客户端
  • wordpress 原生相册seo排名技术软件
  • 营销渠道策略怎么写上海seo优化培训机构
  • wordpress 暂无评论扬州seo推广
  • wordpress 部署广州seo网站多少钱
  • 一个网站拿到手里想做优化第一步怎么做游戏推广员是做什么的
  • 湛江网站建设如何营销推广自己的产品
  • 两学一做知识问答网站搜索引擎营销的方法有哪些
  • 毕设做网站的系统概述怎么写成都seo公司
  • 在linux系统上用什么做网站百度口碑官网
  • 阿里巴巴网站推广怎么做株洲seo优化公司
  • 如何做网站对话框凡科建站app
  • 做网站客户会问什么问题网络营销企业案例
  • 2019做网站图片用什么格式提升排名
  • 岳阳政府网站是哪个单位建设郑州免费做网站