
Go
文章平均质量分 74
代码界吴彦祖
Stay foolish,Stay hungry
展开
-
Go 语言底层原理
文章目录数组与切片切片扩容函数传参MapMap底层数据结构key的访问map的遍历遍历的随机性遍历当中发生的扩容扩容扩容触发条件条件1-扩充条件2-压实接口底层结构ifaceeface接口类型是不是nil方法接收者Channel底层结构channel的发送策略channel的接收策略channel的关闭happend-before标准库ContextContext取消timerCtxreflectTypeValueunsafe底层结构修改私有成员变量GMP基础数据结构运行流程抢占sysmon作用P的限制设置原创 2021-04-26 14:45:34 · 3553 阅读 · 0 评论 -
Go 语言小记
本文主要是读的笔记. 本文稍欠缺些整理.简介本节主要是对Go的一些主要内容进行基础的介绍语法特点变量类型的声明 类型放到变量名之后 函数可以返回多个变量 defer 可以延迟函数的调用(形成一个先进后出的defer栈) 存在指针类型,但没有指针运算 在定义变量时没有进行赋值,默认赋值为”零值”,数值类型默认为0,布尔类型默认为false字符串默认为空”” 支持类型推到 存在结构体 r原创 2017-11-05 15:59:54 · 1747 阅读 · 0 评论 -
Docker:实战操作--安装与基础操作
Docker出现已经有很长的时间了,期间版本也进行了很多的变化,不同的版本一些命令的差异,功能差异在开始之前我们需要额外注意Docker的版本号. 由于CentOS 6.X系统版本问题只能运行Docker 1.7,CentOS7以及以上的版本支持更高Docker版本. 读者可以采取升级系统版本的方式安装更高版本的Docker,但是这样做的话具有较高的风险,确保机器已经备份. ...原创 2018-07-01 16:54:34 · 889 阅读 · 0 评论 -
Docker:实战操作--Docker Compose
DockerCompose是用来定义以及运行多容器应用的工具. Docker官方推荐使用DockerCompose来构建开发环境的服务,不推荐在生产环境当中使用. 当前微服务架构盛行,我们不可能为每个依赖的服务搭建一套环境,创建容器以及镜像.当我们迫切的需要一个工具解决我们开发环境的复杂性,达到一键运行的目的,因此DockerCompose就出现了. 本文是接着上篇文章的例子进行操作,请...原创 2018-07-01 16:57:59 · 1167 阅读 · 0 评论 -
Go race condition以及解决方法
形成条件一般情况下是由于在没有加锁的情况下多个协程进行操作对同一个变量操作形成竞争条件.如果没有锁的情况会输出结果非1001.func main() { c := 1 g := sync.WaitGroup{} times := 1000 for i:=0 ; i< times; i++ { g.Add(1) go func() { c++ g.Done...原创 2018-11-02 15:15:56 · 2675 阅读 · 0 评论