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

南昌网站建设方案成都十大传媒公司

南昌网站建设方案,成都十大传媒公司,洮南网站建设,联通北京网站备案9 map Go 语言中提供的映射关系容器为 map #xff0c;其内部使用 散列表#xff08;hash#xff09; 实现。它是一种无序的基于 key-value 的数据结构。 Go 语言中的 map 是引用类型#xff0c;必须初始化之后才能使用。 9.1 map 定义 Go 语言中 map 的定义语法为其内部使用 散列表hash 实现。它是一种无序的基于 key-value 的数据结构。 Go 语言中的 map 是引用类型必须初始化之后才能使用。 9.1 map 定义 Go 语言中 map 的定义语法为map[keyType]valueType其中 keyType 表示键的类型valueType 表示值的类型 map 类型变量默认初始值为 nil (引用类型的默认初始值都为 nil), 需要使用 make() 函数来分配内存语法格式为 make(map[keyType]valueType , cap )上述格式中cap 表示 map 的容量不是必须的map 可以动态扩容。但我们通常会在初始化的时候就指定一个合适的容量因为这样会比动态扩容的执行效率高。 package mainimport fmtfunc main() {// 声明一个键为 string 类型值为 int 类型的 mapvar b map[string]int// truefmt.Println(nil b)// 通过 make 初始化 map, 并指定其长度为 10。 map 可以自动扩容但不如声明时指定容量的执行效率高。b make(map[string]int, 10)b[aa] 100b[bb] 100//map[aa:100 bb:100]fmt.Println(b) }9.2 map 的基本使用 9.2.1 增值和取值 package mainimport fmtfunc main() {var b map[string]int// truefmt.Println(nil b)b make(map[string]int, 10)b[aa] 100b[bb] 100// 获取键对应的值时使用 map名称[键名] 的格式fmt.Println(b[aa])// 不确定是否存在某个键时使用这种方式获取其值。ok 表示是否有该键v 表示如果有该键时的值v, ok : b[cc]if !ok {fmt.Println(b 中不存在键 cc)} else {fmt.Println(cc对应的值为, v)} }9.2.1 删除某个键值对 删除时使用内置函数 delete, 该函数的定义如下 func delete(m map[Type]Type1, key Type)如果被删除的键存在直接删除不存在则不执行任何操作。 package mainimport (fmt )func main() {scoreMap : make(map[string]int, 10)scoreMap[张三] 93scoreMap[李四] 94scoreMap[王五] 95delete(scoreMap, 张三) }9.3 map 的遍历 9.3.1 for-range 遍历 package mainimport fmtfunc main() {scoreMap : make(map[string]int, 10)scoreMap[张三] 93scoreMap[李四] 94scoreMap[王五] 95for k, v : range scoreMap {fmt.Println(k, v)} }9.3.2 只遍历 key package mainimport (fmt )func main() {scoreMap : make(map[string]int, 10)scoreMap[张三] 93scoreMap[李四] 94scoreMap[王五] 95for k : range scoreMap {fmt.Println(k, scoreMap[k])} }9.3.3 只遍历 value package mainimport (fmt )func main() {scoreMap : make(map[string]int, 10)scoreMap[张三] 93scoreMap[李四] 94scoreMap[王五] 95for _, v : range scoreMap {fmt.Println(v)} }9.3.4 按照指定顺序遍历 Go 语言中没有 map 专用的排序需要借助切片的排序实现。 package mainimport (fmtmath/randsorttime )func main() {//初始化随机种子rand.Seed(time.Now().UnixNano())scoreMap : make(map[string]int, 150)for i : 0; i 100; i {// 生成 stu 开头的字符串.此处的 %2d 表示使用两位数表示不足两位则左边补0key : fmt.Sprintf(stu%02d, i)// 生成 0-99 的随机整数value : rand.Intn(100)scoreMap[key] value}// 取出 map 中的所有 key 存入切片keys : make([]string, 0, 200)for k : range scoreMap {keys append(keys, k)}// 对切片进行排序sort.Strings(keys)// 对排序后的切片进行遍历并取 map 中的值for _, k : range keys {fmt.Println(k, scoreMap[k])} }9.4 其他相关 9.4.1 元素为 map 的切片 package mainimport (fmt )func main() {// 构建一个切片容量为 3元素为 map[string]stringvar mapSlice make([]map[string]string, 3)for index, v : range mapSlice {fmt.Printf(index:%d, value:%v \n, index, v)}fmt.Println()// 对切片中的元素进行初始化, 不初始化会报错——map、slice、channel 使用前必须初始化mapSlice[0] make(map[string]string, 10)mapSlice[0][name] 张三mapSlice[0][password] 123456mapSlice[0][address] 济南for index, v : range mapSlice {fmt.Printf(index:%d, value:%v\n, index, v)} }运行结果如下 index:0, value:map[] index:1, value:map[] index:2, value:map[] index:0, value:map[address:济南 name:张三 password:123456] index:1, value:map[] index:2, value:map[]9.4.2 值为切片类型的 map package mainimport fmtfunc main() {// 构建一个 map, 容量为 3元素类型为 []string 切片var sliceMap make(map[string][]string, 3)// map[]fmt.Println(sliceMap)k : 中国value, ok : sliceMap[k]if !ok {value make([]string, 0, 2)}value append(value, 北京, 上海)sliceMap[k] value// map[中国:[北京 上海]]fmt.Println(sliceMap) }package mainimport fmtfunc main() {// 构建一个 map, 容量为 3元素类型为 []string 切片var sliceMap make(map[string][]int, 3)sliceMap[北京] []int{1, 2, 3, 4, 5}// map[北京:[1 2 3 4 5]]fmt.Println(sliceMap) }9.5 作业 9.5.1 判断字符串中汉字的数量 思路 依次获取每个字符判断字符是不是汉字把汉字出现的次数累加 package mainimport (fmtunicode )func main() {s1 : 我是 CnPeng,我在济南var count intfor _, c : range s1 {// 判断是不是汉字if unicode.Is(unicode.Han, c) {count}}fmt.Println(count) }9.5.2 统计单词出现的次数 package mainimport (fmtstrings )func main() {s1 : how do you do strSlice : strings.Split(s1, )strMap : make(map[string]int, 10)for _, w : range strSlice {if _, ok : strMap[w]; !ok {strMap[w] 1} else {strMap[w]}}for k, v : range strMap {fmt.Println(k, v)} }9.5.2 回文判断 一个字符串从左向右读和从右向左读含义一致就称为回文。如 “上海自来水来自海上”、“山西运煤车煤运西山”、“黄山落叶松叶落山黄” package mainimport fmtfunc main() {s1 : 山西运煤车煤运西山// 规律s1[0]s[len(ss)-1]// s1[1]s[len(ss)-1-1]// s1[2]s[len(ss)-1-2]// s1[3]s[len(ss)-1-3]// 。。。s1[i]s[len(ss)-1-i]// 将字符串转换成 rune 切片r : make([]rune, 0, len(s1))for _, c : range s1 {r append(r, c)}// 只比较前面一半和后面一个就可以for i : 0; i len(r)/2; i {if r[i] ! r[len(r)-1-i] {fmt.Println(不是回文)return}} }
http://www.hkea.cn/news/14517128/

相关文章:

  • 做医采官方网站莆田网站开发
  • 网站建设框架文档网页设计标签大全
  • ip做网站域名现在做电脑做系统网站容易赚钱吗
  • 做网站还是订阅号壹六八信息科技网站建设
  • 贵州中航建设集团网站wordpress能做多用户
  • 网站开发前台 后台技术seo优化主要工作内容
  • 四川省住房和城乡建设厅网站查询设计网站如何推广方案
  • 北京建设工程协会网站企业信息管理系统下载
  • 南昌住房城市建设支行官方网站美食网站建设的栏目和模板
  • 网站的用户登录一般怎么做的有趣的网页设计
  • 建设银行招生网站建站公司用的服务器
  • php红色酒类食品企业网站源码广东建设网证件查询
  • 网站策划编辑html5视频标签
  • jsp做的网站有哪些wordpress多板块
  • 中文企业网站模板免费下载上海仿站定制模板建站
  • wordpress主题图片不显示做seo用什么网站系统
  • 公司网站的作用意义维护建设管理网站开发付款分几步
  • 犀牛云做网站费用wordpress主题腾讯EDC
  • 企业网站建设费用怎么核算本地装修公司怎么找
  • 巢湖网站建设无版权图片网站
  • 官方网站建设的意义wordpress 绿色主题
  • 网站地图 seo搜索引擎seo关键词优化
  • 自己做网站的过程一诺摄影设计
  • 怎么给一个花店做网站建设想要网站推广页面
  • 网站开发范本百度网站数据统计怎么做
  • 安徽省建设厅网站域名哪个平台可以免费打广告
  • 网站 开发 周期wordpress 木马
  • 唐山网站推广网站建设安排
  • 英文网站推荐企业建设网站维护
  • 公众号做 视频网站上海浦东网站建设