协程:
1) 一个线程可以多个协程,一个进程也可以单独拥有多个协程。
2) 线程进程都是同步机制,而协程则是异步。
3) 协程能保留上一次调用时的状态,每次过程重入时,就相当于进入上一次调用的状态。
4)线程是抢占式,而协程是非抢占式的,所以需要用户自己释放使用权来切换到其他协程,因此同一时间其实只有一个协程拥有运行权,相当于单线程的能力。
5)协程并不是取代线程, 而且抽象于线程之上, 线程是被分割的CPU资源, 协程是组织好的代码流程, 协程需要线程来承载运行, 线程是协程的资源, 但协程不会直接使用线程, 协程直接利用的是执行器(Interceptor), 执行器可以关联任意线程或线程池, 可以使当前线程, UI线程, 或新建新程.。
6)线程是协程的资源。协程通过Interceptor来间接使用线程这个资源。
https://www.jianshu.com/p/36e246c6153d (csp)
https://blog.csdn.net/fadbgfnbxb/article/details/88787361 (协程)
https://www.cnblogs.com/agilestyle/p/11424789.html (协程)
https://www.jianshu.com/p/4e4ff6be6af9 (pprof)
命令:https://www.cnblogs.com/itogo/p/8645441.html
- build: 编译包和依赖
- clean: 移除对象文件
- doc: 显示包或者符号的文档
- env: 打印go的环境信息
- bug: 启动错误报告
- fix: 运行go tool fix
- fmt: 运行gofmt进行格式化
- generate: 从processing source生成go文件
- get: 下载并安装包和依赖
- install: 编译并安装包和依赖
- list: 列出包
- run: 编译并运行go程序
- test: 运行测试 https://www.jianshu.com/p/2360984a47a9
- tool: 运行go提供的工具
- version: 显示go的版本
- vet: 运行go tool vet
闭包:
https://www.cnblogs.com/huanghuali/p/9851453.html
接口:
https://www.jianshu.com/p/82436645927b
函数式编程:
https://www.jianshu.com/p/ebf470abbd7c(特点)
https://www.cnblogs.com/zhenw/p/6160931.html(优缺点)
https://www.cnblogs.com/gauze/p/9436260.html(函数实现接口)
避坑:
https://www.cnblogs.com/276815076/p/8583589.html
https://studygolang.com/articles/16949?fr=sidebar
https://blog.csdn.net/wenzhou1219/article/details/81675206
结构体:
https://www.bbsmax.com/A/1O5EOZanz7/ (定义 构造函数 继承 组合 别名 传参 )
https://www.jianshu.com/p/ea9c3564d6b6(结构体与数据类型)
https://www.cnblogs.com/liyutian/p/10050320.html(初始化与内存分配)
指针:
https://www.jianshu.com/p/f201d6da488a(简单易懂 赞)
https://www.codercto.com/a/77292.html(什么时候使用场景)
https://blog.csdn.net/liuli9/article/details/81024077 (& *)
- & 是取地址符号 , 即取得某个变量的地址 , 如 ; &a
- *是指针运算符 , 可以表示一个变量是指针类型 , 也可以表示一个指针变量所指向的存储单元 , 也就是这个地址所存储的值 .
https://www.cnblogs.com/aresxin/p/GO-zhi-zhen.html
https://www.zhihu.com/question/26623283