简介 本篇文章的主要内容是解决go语言map在使用中遇到的两个问题,对于初学者是不可避免的坑 一.cannot assign to struct field 当map中存在struct类型的成员,如果在初始化后,再次对其进行修改,就会出现这种错误. type student struct { name string age int } var testMap = map[string]student{ }, }, }, } func main(){ testMap["xiao"].na…
goroutine 1.进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位 B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位 C. 一个进程可以创建和撤消多个线程:同一个进程中的多个线程之间可以并发执行 2. 协程和线程 协程:独立的栈空间,共享堆空间,调度由用户自己控制,本质上有点类似于用户级线程,这些用户线线程的调度也是自己实现的 (go func() 起的就是协程) 线程:一个线程上可以跑多个协程,…
Go 语言Map(集合) Map 是一种无序的键值对的集合.Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值. Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它.不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的. 定义 Map 可以使用内建函数 make 也可以使用 map 关键字来定义 Map: 声明变量,默认map是nilvar map_name = map[type]type 另外一种使用make…
go语言---map https://blog.csdn.net/cyk2396/article/details/78890185 一.map的用法: type PersonDB struct { Id string Name string Address string } fmt.Println("=========Map===========") //map是一堆键值对的未排序集合,在golang中是内置类型,可以直接使用,不像Java需要引入HashMap var personM…
本文主要介绍WebRTC视频通信中的错误恢复机制(我们翻译和整理的,译者:jiangpeng),最早发表在[这里] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam). 道路交通与网络交通有很相似之处.就像道路上的车辆一样,网络分包也可能转错了弯,或者因为堵塞导致延迟.但是,网络分包经常会发生丢失,而道路上的车辆很少会出现这张状况.在这篇文章中,我们将讨论媒体流是如何被压缩.通过网络进行传输以及各种错误恢复机制. 1.视频传输.编码与解码 在开始…
#region Server /// <summary> /// 用于保存非对称加密(数字证书)的公钥 /// </summary> private string publicKey = string.Empty; /// <summary> /// 用于保存非对称加密(数字证书)的私钥 /// </summary> private string pfxKey = string.Empty; ///=========================== //…
iOS: 消息通信中的Notification&KVO 在 iOS: MVC 中,我贴了张经典图: 其中的Model向Controller通信的Noification&KVO为何物呢? 在功能上说,delegate.Notification以及KVO的功能类似,都是作用于 OC中对象 的消息通信.但三者的使用场景是不同的. 简单的说Delegate是一种回掉函数,更多的用在一对一的场合,可参考 iphone:delegate机制 : Notification 用得较少,使用Notifica…
TCP通信中的大文件传送 源码   (为节省空间,不包含通信框架源码,通信框架源码请另行下载) 文件传送在TCP通信中是经常用到的,本文针对文件传送进行探讨 经过测试,可以发送比较大的文件,比如1个G或者2个G 本文只对文件传送做了简单的探讨,示例程序可能也不是很成熟,希望本文起到抛砖引玉的作用,有兴趣的朋友帮忙补充完善 首先看一下实现的效果 服务器端: 客户端(一次只能发送一个文件): 服务器端收到的文件,存放到了D盘根目录下(存放的路径可以根据情况修改) 本程序基于开源的networkcom…
源:串口通信中ReadFile和WriteFile的超时详解! 在用ReadFile和WriteFile读写串行口时,需要考虑超时问题.如果在指定的时间内没有读出或写入指定数量的字符,那么ReadFile或WriteFile的操作就会结束.要查询当前的超时设置应调用GetCommTimeouts函数,该函数会填充一个COMMTIMEOUTS结构.调用SetCommTimeouts可以用某一个COMMTIMEOUTS结构的内容来设置超时. 有两种超时:间隔超时和总超时.间隔超时是指在接收时两个字符…
//高效率遍历Map以及在循环过程中移除 remove指定key //使用iter循环的时候 可以在循环中移除key,for在循环的过程中移除会报错哦 //本方法效率高 Iterator iter = finalFenleiMap.entrySet().iterator(); while (iter.hasNext()){ Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); if(key!=null){…