Golang通脉之流程控制详情
目录1、if else(分支结构)1.1 if条件判断基本写法1.2 if条件判断特殊写法2、for(循环结构)2.1 无限循环3、for range(键值循环)4、switch case5、goto(跳转到指定标签)6、br...
目录1、if else(分支结构)1.1 if条件判断基本写法1.2 if条件判断特殊写法2、for(循环结构)2.1 无限循环3、for range(键值循环)4、switch case5、goto(跳转到指定标签)6、br...
目录一、基础介绍1、Go 的特性2、Go 的常用命令3、Hello Word二、变量1、定义方式三、常量四、基础数据类型1、数字2、浮点型(小数,32/64表示小数点后长度多少位)3、布尔(Bool)4...
目录1.开启泛型2.无泛型代码和泛型代码2.1.AddSlice2.2.带方法的约束StringConstraint1. 开启泛型在 Go1.17 版本中,可以通过: export GOFLAGS="-gcflags=-G=3"或者在编译运...
目录一、定义切片1、声明一个未指定大小的数组来定义切片2、使用make()函数来创建切片二、切片是可索引的1、len() 和 cap() 函数三、切片截取四、增加切片的容量说明:
Go 语...
目录Go语言集成开发环境之VS Code安装使用下载与安装安装中文简体插件安装Go开发扩展变更编辑器主题安装Go语言开发工具包配置VSCode开启自动保存配置代码片段快捷键Go语言...
目录一、Goroutine1、启动一个 Goroutine2、Go 语言的GMP模型二、信道1、死锁2、单向信道3、for 循环信道4、缓冲信道5、WaitGroup6、Select7、Mutex三、异常处理一、Gorout...
目录1、sync.Map 优势2、性能测试2.1 压测结果1)写入2)查找3)删除2.3 场景分析3、sync.Map 剖析3.1 数据结构3.2 查找过程3.3 写入过程3.4 删除过程map 的两种目前在业界使用的...
目录1、命令行工具概述2、flag包介绍3、flag包命令行参数的定义4、flag包命令行参数解析5、flag包命令行帮助6、flag定义短参数和长参数7、示例1、命令行工具概述日常命令行...
目录图的实现BFSDFS图的实现所谓图就是节点及其连接关系的集合。所以可以通过一个一维数组表示节点,外加一个二维数组表示节点之间的关系。//图的矩阵实现typedef struct MGR...
‘…' 其实是go的一种语法糖。
它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。
第二个用法是slice可以被打散进行传递。实例:package mai...
目录1、环境变量对照表2、使用2.1 Windows
2.2 linux2.3 Mac OS3、备注3.1 CGO_ENABLED解释1、环境变量对照表golang交叉编译环境变量对照表GOOS | GOARCH | OS VERSION ---...
微服务架构中收集通常大家都采用ELK进行日志收集,同时我们还采用了SkyWalking进行链路跟踪,而SkyWalking数据存储也用到了ES,SkyWalking每天产生大量的索引数据,如下:WX20211008-...
目录1. 什么叫可寻址?2. 哪些是可以寻址的?变量:&x指针:&*x数组元素索引: &a[0]切片切片元素索引:&s[1]组合字面量: &struct{X type}{value}3. 哪些是不可以寻址的?...
目录一、数组1、数组的定义2、数组赋值3、定义并初始化4、数组的大小是类型的一部分5、数组是值类型6、数组长度 len() 数组长度在定义阶段已经固定7、数组循环8、多维数组9...
目录1、为什么使用2、空结构体的特殊性3、使用场景3.1 实现方法接收者
3.2 实现集合类型3.3 实现空通道前言:在 Go 语言中,有一个比较特殊的类型,经常会有刚接触 Go 的小伙伴...
目录一、概念二、哪些函数支持三、占位符使用四、普通占位符1. %v、%+v、%#v2. %T3. %%五、布尔占位符六、整数占位符1. %b2. %c3. %d、%5d、%-5d、%05d4. %o、%#o5. %q6. %...
目录1、互斥锁Mutex1.1 Mutex介绍1.2 Mutex使用实例2、读写锁RWMutex2.1 RWMutex介绍2.2 RWMutex使用实例1、互斥锁Mutex
1.1 Mutex介绍
Go 语言的同步工具主要由 sync 包提...
背景gRPC是Google开始的一个RPC服务框架, 是英文全名为Google Remote Procedure Call的简称。广泛的应用在有RPC场景的业务系统中,一些架构中将gRPC请求都经过一个gRPC服务代...
目录一、通过结构(struct) 实现 接口(interface)二、代码示例一、通过结构(struct) 实现 接口(interface)1、在了解iris框架的时候,经常看到有这样去写的使用一个空结构体作...
目录1.多线程下载原理2.构造一个下载器2.1 为下载器提供初始化方法3.实现下载综合调度逻辑3.1 下载文件分段3.2 子线程下载函数4. 保存下载文件函数5.完整代码本篇文章我们...
目录1. Go 总是在构建中包含二进制文件2. Go 没有针对程序依赖的集中托管服务3. Go 是按值调用的4. 'defer' 关键字5. Go 采用了函数式编程的最佳特性6. Go 有隐式接口7.错...
数据结构channel的数据结构在$GOROOT/src/runtime/chan.go文件下:type hchan struct { qcount uint // 当前队列中剩余元素个数 dataqsiz uint /...
目录1. 反射简介1.1 反射是什么?1.2 为什么需要反射?2. reflect包2.1 基本反射2.2 反射与指针2.3 反射与对象2.4 反射与函数2.5 反射例子3. 总结1. 反射简介1.1 反射是什么?Go...
目录互斥锁读写互斥锁先来看这样一段代码,所存在的问题:
var wg sync.WaitGroupvar x int64func main() { wg.Add(2) go f() go f() wg.Wait() fmt.Println(x) // 输出:12135}f...