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

有源码如何搭建网站/黄页网络的推广

有源码如何搭建网站,黄页网络的推广,找公司做网站,微网站开发平台有哪些map定义三种方式package mainimport "fmt"func main() {// map 的基本定义// 第一种方式 使用make分配数据空间var map1 map[string]stringmap1 make(map[string]string, 3)map1["no1"] "北京"map1["no2"] "天津"map1[&q…

map定义

三种方式

package mainimport "fmt"func main() {// map 的基本定义// 第一种方式 使用make分配数据空间var map1 map[string]stringmap1 = make(map[string]string, 3)map1["no1"] = "北京"map1["no2"] = "天津"map1["no3"] = "上海"fmt.Println("map1=", map1)// 第二种方式map2 := make(map[string]string)map2["no1"] = "宋江"map2["no2"] = "卢俊义"map2["no3"] = "吴用"fmt.Println("map2=", map2)// 第三中方式,使用类型推导map3 := map[string]string{"no1": "刘备","no2": "关羽","no3": "张飞",}fmt.Println("map3=", map3)// 套娃方式map4 := map[string]map[string]string{"no1": {"name": "张三", "gender": "男", "address": "北京"},"no2": {"name": "李四", "gender": "女", "address": "天津"},"no3": {"name": "王五", "gender": "男", "address": "上海"},}
}

map删除

删除单个key

delete(map, "key"),delete是内置函数。如果key存在,就删除key-value,如果key不存在,也不会报错。

delete(map1, "no2")

删除全部key

  1. Golang没有提供一次性全部删除的函数,只能遍历全部删除

for i, _ := range map1 {delete(map1, i)
}
  1. make一个新的空间

map1 = make(map[string]string)

判断某个key是否存在

val, exists := map1["no4"] // exists返回布尔值,存在为true,不存在为false
if exists {fmt.Println("exists")
} else {fmt.Println("nonexistence")
}
fmt.Printf("val=%v,exists=%v\n", val, exists)

map遍历

使用 for range遍历即可,多层map,for range多次即可

map 长度

使用len函数

map 切片的使用

package mainimport "fmt"func main() {// map 切片的使用map1 := make([]map[string]string, 2)if map1[0] == nil {map1[0] = make(map[string]string, 2)map1[0]["name"] = "宋江"map1[0]["age"] = "45"}if map1[1] == nil {map1[1] = make(map[string]string, 2)map1[1]["name"] = "卢俊义"map1[1]["age"] = "40"}// 由于切片只分配了2个空间,再追加map的话需使用append函数mapValue := map[string]string{"name": "吴用","age":  "44",}map1 = append(map1, mapValue)fmt.Println(map1)}

运行结果:

[map[age:45 name:宋江] map[age:40 name:卢俊义] map[age:44 name:吴用]]

map 细节

  1. map是引用类型,遵守引用类型传递的机制,在一个函数中接受map,修改后,会直接修改原来的map

package mainimport "fmt"func modifyMap(map1 map[int]int) {map1[10] = 200
}func main() {// map 函数值传递的演示map1 := map[int]int{1:  11,2:  22,10: 100,}fmt.Println(map1)modifyMap(map1) // 调函数后,会修改原下标10的值fmt.Println(map1)
}
  1. map可以自动扩容,并不会报panic,这点和切片不同(切片超过容量必须使用append)

package mainimport "fmt"func main() {// map 自动扩容的演示map1 := make(map[int]int, 2) // 定义2个容量map1[1] = 11map1[2] = 22map1[3] = 33 // 超过2个容量会自动扩容,不会报panicmap1[4] = 44fmt.Println(map1)
}
  1. map的value经常使用结构体struct类型,更灵活,也更适合管理复杂的数据

package mainimport "fmt"type Stu struct {Name  stringAge   intScore float32
}func main() {// map struct类型的演示stuents := make(map[string]Stu)stu1 := Stu{"宋江", 18, 67.00}stu2 := Stu{"卢俊义", 19, 50.50}stu3 := Stu{"吴用", 20, 99.00}stuents["no1"] = stu1stuents["no2"] = stu2stuents["no3"] = stu3for i, v := range stuents {fmt.Printf("学生编号:%v,名字:%v,年龄:%v,分数:%v\n", i, v.Name, v.Age, v.Score)}
}

课堂练习

要求:

  1. 使用map[string]map[string]string类型

  1. key是唯一的,不可以重复

  1. 如果某个用户存在,修改他的密码为:888888;如果不存在新增用户

package mainimport "fmt"func modifyPwd(users map[string]map[string]string, name string) {exists := falsefor i, v := range users {if v["name"] == name {users[i]["pwd"] = "888888"exists = true}}if !exists {users["no3"] = map[string]string{"name": name,"pwd":  "888888",}}
}func main() {users := make(map[string]map[string]string)user1 := map[string]string{"name": "tom","pwd":  "123456",}user2 := map[string]string{"name": "mary","pwd":  "987654",}users["no1"] = user1users["no2"] = user2modifyPwd(users, "lily")fmt.Println(users)
}

运行结果:

map[no1:map[name:tom pwd:123456] no2:map[name:mary pwd:987654] no3:map[name:lily pwd:888888]]

相关文章:

Golang map笔记

map定义三种方式package mainimport "fmt"func main() {// map 的基本定义// 第一种方式 使用make分配数据空间var map1 map[string]stringmap1 make(map[string]string, 3)map1["no1"] "北京"map1["no2"] "天津"map1[&q…...

Android Jetpack组件之WorkManager高级概念介绍与使用(三)

一、介绍 通过前面两篇,我们基本掌握了组件的workmanager的接入,以及api的使用等。但是一个框架如果运用在复杂的项目中,肯定需要有其他额外的支持,介绍来我们将会介绍高级概念,以及对前面的知识点进行回顾与拓展。 高…...

Spring框架中用到的设计模式(都用到了哪些设计模式?)

文章目录简单工厂模式:工厂模式:单例模式:原型模式:迭代器模式:代理模式:适配器模式:观察者模式:模板模式:责任链模式:这是一道相对有难度的题目,…...

Python中的类和对象(4)

1. 构造函数 (_ init _(self[,……])) 在类中定义 _init _() 方法,可以实现在实例化对象的时候进行个性化定制: >>> class C: ... def __init__(self, x, y): ... self.x x ... self.y y ... …...

window11 安装node及配置环境变量

一、安装环境 本教程演示的环境: 系统:win 11 64位 node.js下载地址: http://nodejs.cn/ node.js版本:长期支持版本(本教程基于16.15.0) 点击选中图标下载到电脑本地即可。 二、安装步骤 1、双击安装包,一…...

腾讯云服务器选购新手教程(新版流程超级详细)

腾讯云服务器购买有两个入口,一个是直接在秒杀活动上购买云服务器,价格便宜,2核2G4M轻量服务器,2核4G6M服务器、4核8G10M服务器,活动上购买价格便宜,但是服务器机型固定;另一个是直接在云服务器…...

第四章 Opencv图像色彩空间与通道

文章目录1.色彩空间1-1.RGB/BGR色彩空间1-2.GRAY色彩空间1-3.HSV色彩空间2.通道2-1.拆分通道:split()方法1.拆BGR色彩空间图像的通道2.拆HSV色彩空间图像的通道2-2.合并通道:merge()方法1.B、G、R 通道的合并2.H、S、V 通道的合并3.B、G、R、A 通道的合并…...

《论文列表》持续更新中......

《论文列表》持续更新中......前言相关论文阅读说服对话系统 Persuasive Dialogue System情感知识对话 Emotional Support Conversation对话中的情感识别 Emotion Recognition in Conversation情感对话生成 Emotional Response Generation多模态融合情感识别或情感生成 Multimo…...

空间中任意一点到球的截面的最短距离

假设球的球心坐标为Oball{x0,y0,z0}O_{ball}\{x_0,y_0,z_0\}Oball​{x0​,y0​,z0​},球的半径为rrr,球的方程为(x−x0)2(y−y0)2(z−z0)2r2(x-x_0)^2(y-y_0)^2(z-z_0)^2r^2(x−x0​)2(y−y0​)2(z−z0​)2r2球的一截面的方程为AxByCz10AxByCz10AxByCz10…...

麦克斯韦方程场分量公式推导

今天看书的时候遇到了一个关于公式推导的问题,阅读该篇前推荐优先阅读—点乘与叉乘是否满足结合律。 已知: E ⃗ t = i k n 2 (...

freertos学习之路6-任务创建和删除

写在最前 由于工作需要,需要开始学习freertos的相关知识,本专题主要记录freertos的相关内容 参考: https://www.bilibili.com/video/BV19g411p7UT 正点原子视频 1. 简介 和一般的OS不同(linux/windows),在…...

科都电气创业板IPO终止:曾计划募资约6亿元,郑春开等学历较低

近日,深圳证券交易所披露的信息显示,科都电气股份有限公司(下称“科都电气”)提交了撤回首次公开发行股票并在创业板上市申请文件的申请,同时保荐机构撤回对该公司的保荐。 因此,深圳证券交易所决定终止对…...

【MySQL】第十六部分 MySQL数据类型详解

【MySQL】第十六部分 MySQL数据类型详解 文章目录【MySQL】第十六部分 MySQL数据类型详解16. MySQL数据类型详解16.1 整数类型16.2 浮点类型16.3 定点数类型16.4 位类型 BIT16.5 日期和时间类型16.6 文本字符串类型16.6.1 CHAR VS VARCHAR类型16.6.2 TEXT类型16.6.3 ENUM类型16…...

Linux手工创建新用户

准备工作(配置流程的理解) Linux中useradd命令即一系列文件操作的结合体,所以我们可以通过查看useradd命令来确认我们手工创建新用户需要完成的文件配置 找到man useradd中涉及的文件部分 对于手工创建用户有用的文件: /etc/pas…...

K_A12_003 基于STM32等单片机采集光敏二极管模块参数 串口与OLED0.96双显示

K_A12_003 基于STM32等单片机采集光敏二极管模块参数 串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明IIC地址/采集通道选择/时序对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RC光敏二极管模块1.2、STM32F103C8T6光敏二极管模块五、基础知识…...

天才少年稚晖君

稚晖君 简介主要成就华为天才少年简介 彭志辉,1993年出生于江西吉安,科技圈知名KOL,人称“稚晖君”“野生钢铁侠”,原华为天才少年。 2015年本科毕业于电子科技大学生命科学与技术学院;2018年研究生毕业于电子科技大学信息与通信工程学院;毕业后就职于OPPO研究院AI实验…...

【Linux command 09】tcpdump 命令

tcp一款sniffer工具,是Linux上的抓包工具,嗅探器语法tcpdump (选项)选项-c: 指定要抓取的包数量。注意,是最终要获取这么多个包。例如,指定"-c 10"将获取10个包,但可能已经处理了100个包&#xf…...

初始结构体

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀 目录 🏡前言 🐰结构体的基础知识 🐰结构体的声明 &#x…...

English Learning - Day56 作业打卡 2023.2.10 周五

English Learning - Day56 作业打卡 2023.2.10 周五引言1. 他把车停错了地方,因此被罚了款。2. 这个事我越想越生气。3.他在这工作的时间比我长。4. 没有奋斗,就不会变强大。5.我一到北京就给你打电话。6. 直到我有了孩子,才意识到我的父母有…...

Python中五个不常见的隐晦用法小结

1. 引言 我已经用Python编程5年了(从2017年开始),直到最近才知道以下几个Python中不常见的用法,确实和人们对直观理解有所出入。 闲话少说,我们直接开始吧! 2. 类中的私有变量不是真正的私有 我们直接上…...

SharkTeam:Move合约开发与合约安全

近期,围绕 Aptos 和 Sui,新兴的高性能 L1链 以及这些新链背后的 Move 智能合约编程语言引起了很多关注,社区也非常活跃,很多开发者和项目已经开始积极转向 Move。但Move相对Solidity差别较大,即使是相对比较接近的Rust…...

一篇文章学习什么是进程(万字解析,超多知识点)

目录进程概念进程控制块-PCBPCB的内容分类标识符查看进程信息的方法状态fork函数进程状态R运行状态(running)S睡眠状态(sleeping)D磁盘休眠状态(Disk sleep)T停止状态(stopped)X死亡…...

第01章_数据库概述

第01章_数据库概述 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 为什么要使用数据库 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下&#x…...

我所理解的高通UEFI之display的流程和移植

UEFI的流程UEFI跟uboot一样在OS加载启动之前,正确的指定启动服务,并向内核传递信息,代替原先的uboot。它包含了上电、驱动实现,以及os环境的建立和应用程序(类似于fastboot)。这个os是UEFI自己独立运行独有…...

iozone -a fsync: I/O error

iozone -a fsync: I/O error iozone: interrupted exit iozone 问题表现是手机老化后重启不开机。检查不开机Log,发现/data/system/packages.xml文件有损坏,pull 离线日志,发现出问题前后的日志也不能pull,pull出来的离线日志解压…...

Element UI框架学习篇(五)

Element UI框架学习篇(五) 1 准备工作 1.1 在zlz包下创建数据传输对象类EmpDTO package com.zlz.dto;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;//根据前台来的 Data public class EmpDTO {private String name;private Stri…...

SpringBoot 全局异常处理用法及原理

SpringBoot 全局异常处理用法及原理 Springboot或springMVC项目中, 我们一般会设置一个全局异常处理, 来对异常进行兜底。 业务代码执行过程中抛出的异常, 如果业务逻辑没有主动捕获,那么异常就会一直往上抛,最后进入…...

浏览器中HTTP请求流程是如何处理的

HTTP 是一种允许浏览器向服务器获取资源的协议,是 Web 的基础,通常由浏览器发起请求,用来获取不同类型的文件,例如 HTML 文件、CSS 文件、JavaScript 文件、图片、视频等。 浏览器端发起 HTTP 请求流程: 1. 构建请求…...

【Pytorch项目实战】之语义分割:U-Net、UNet++、U2Net

文章目录博主精品专栏导航一、前言1.1、什么是图像分割?1.2、语义分割与实例分割的区别1.3、语义分割的上下文信息1.4、语义分割的网络架构二、网络 数据集2.1、经典网络的发展史(模型详解)2.2、分割数据集下载三、算法详解3.1、U-Net3.1.1、…...

七、插件机制

Interceptor MyBatis 插件模块中最核心的接口就是 Interceptor 接口,它是所有 MyBatis 插件必须要实现的接口,其核心定义如下: public interface Interceptor {// 插件实现类中需要实现的拦截逻辑Object intercept(Invocation invocation) …...