
Go
空想昼夜
真的渣..
展开
-
Go-Task12-并行编程
目录1.并发编程1.1 并发与并行1.2 为什么需要并发?1.3 Go并发原语1.3.1 协程Goroutines1.3.2 通道Channel打卡结束了, 但Go的学习真的完结了吗?1.并发编程1.1 并发与并行Erlang 之父 Joe Armstrong曾经以下图解释并发与并行。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5gHSbAUe-1608972337948)(https://github.com/datawhalechina/go-talent/r原创 2020-12-26 16:46:23 · 280 阅读 · 2 评论 -
Go-Task12-单元测试
1.单元测试写完spring boot再详细填坑Orz本节代码样例见code/utest文件夹在日常开发中,我们通常需要针对现有的功能进行单元测试,以验证开发的正确性。 在go标准库中有一个叫做testing的测试框架,可以进行单元测试,命令是go test xxx。测试文件通常是以xx_test.go命名,放在同一包下面。1.1 初探Go单元测试现在假设现在需求是:完成两个复数相加,我们只需要一个函数便可以完成该任务。在开发中,我们需要对该函数进行功能测试,如何快速进行单元测试呢?鼠标原创 2020-12-25 19:42:45 · 224 阅读 · 0 评论 -
Go-Task11-反射机制
目录1.反射机制1.1 反射是什么1.2 反射的作用1.3 反射的实现1.3.1 反射三定律1.4 反射的实践此外, 知乎上看到一个文章讲的很好链接1.反射机制1.1 反射是什么反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。Go 语言提供了一种机制在运行时更新变量和检查它们的值、调用它们的方法,但是在编译时并不知道这些变量的具体类型,这称为反射机制。1.2 反射的作用1.在编写不定传参类型函数的时候,或传入类型过多时典型应原创 2020-12-24 16:57:04 · 237 阅读 · 1 评论 -
Go-Task9-包管理
1.包管理1.1 Go Modules是什么?Go语言通过包管理来封装模块和复用代码,这里我们只介绍Go Modules管理方法Go Modules于Go语言1.11版本时引入,在1.12版本正式支持,是由Go语言官方提供的包管理解决方案Modules是相关Go包的集合,是源代码交换和版本控制的单元。go命令直接支持使用Modules,包括记录和解析对其他模块的依赖性1.2 Go Modules的使用方法1.2.1 环境变量首先需要设置环境变量,可以使用go env命令查看当前配置。$ go原创 2020-12-22 09:32:12 · 228 阅读 · 0 评论 -
Go-Task8-结构体-方法-接口
目录1.结构体、方法、接口1.1.结构体1.1.1 结构体定义1.1.2 操作结构体1.1.3 标签1.1.4 内嵌结构体1.1.5 测试测试1测试21.2 方法1.2.1 方法定义1.2.2 方法接收者1.3 接口1.3.1 接口定义1.3.2 实现接口测试测试1测试21.3.3 类型断言1.3.4 空接口1.结构体、方法、接口1.1.结构体Go 语言中没有“类”的概念,也不支持像继承这种面向对象的概念。但是Go 语言的结构体与“类”都是复合结构体,而且Go 语言中结构体的组合方式比面向对象具有更高原创 2020-12-21 16:55:32 · 550 阅读 · 0 评论 -
Go-Task7-函数
目录1.函数1.1函数定义1.2值传递与引用传递1.3变长参数1.4多返回值1.5命名返回值1.6匿名函数1.7闭包2.课后题1.函数1.1函数定义在go语言中函数定义格式如下:func functionName([parameter list]) [returnTypes]{ //body}函数由func关键字进行声明。functionName:代表函数名。parameter list:代表参数列表,函数的参数是可选的,可以包含参数也可以不包含参数。returnTypes:返回原创 2020-12-20 14:14:06 · 403 阅读 · 0 评论 -
Go-Task6-数组-切片
数组、切片由于太长(存在习题)放到了文章最后ps: 这一章主要都花在了练习题上Orz, 熟悉又陌生的编程语言, 果然不能想当然的去认为一些事情…1.数组1.1如何定义数组数组是具有相同类型且长度固定的一组连续数据。在go语言中我们可以使用如下几种方式来定义数组。func part1() { // 定义 var arr1 = [5]int{} var arr2 = [5]int{1,2,3,4,5} var arr3 = [5]int{3:10} fmt.Println(arr1)原创 2020-12-19 17:42:14 · 687 阅读 · 1 评论 -
Go-Task5-字典-字符串
字典, 字符串字典map是一种较为特殊的数据结构,在任何一种编程语言中都可以看见他的身影,它是一种键值对结构,通过给定的key可以快速获得对应的value。如何定义字典func dict1(){ var m1 map[string]int m2 := make(map[int]interface{}, 100) m3 := map[string]string{ "name": "zhangsan", "age": "22", } fmt.Println(m1) // map[]原创 2020-12-18 16:55:22 · 164 阅读 · 1 评论 -
Go-Task4-运算符-控制语句
运算符, 控制语句以下测试代码中的函数都传入了这些参数func main() { exercise1(10, 20) // 算术 exercise2(10, 20) // 关系 exercise3(true, false) //逻辑 exercise4(0b1100, 0b0110) // 位运算 0b表示2进制数(方便观察位运算) exercise5(10, 20) // 赋值 exercise6(10) // 其他 exercise7(10) // 条件 exercise8("榴原创 2020-12-17 19:26:48 · 216 阅读 · 0 评论 -
Go - Task3 - 变量, 常量, 枚举
Task3 - 变量, 常量, 枚举typeora放到csdn上好丑= =参考:Go语言圣经(中文版)Datawhale Task2变量格式 var 变量名 类型 = 表达式类型 / 表达式 两个部分可以省略一个省略表达式, 那么变量将给据类型来进行默认赋值数值: 0布尔: false字符串: “”接口/引用类型: nil数组/结构体等聚合类型对应的0值为每个元素都是其对应该类型的0值省略类型, 那么变量将会根据初始化的表达式来推导变量的类型零原创 2020-12-16 20:40:17 · 162 阅读 · 0 评论 -
Go - Task2 - 数据类型,关键字,标识符
Task2 - 数据类型,关键字,标识符数据类型基础数据类型布尔var b1 bool = truevar b2 bool = falsefmt.Println("b1 =", b1, "b2 =", b2)运算&&||&& 的优先级大于 ||整型int8, int16, int32, int64 -> 8,16,32,64bit有符号整数uint8, uint16, uint32, uint64 -> 8, 16, 32原创 2020-12-15 19:45:06 · 156 阅读 · 0 评论 -
Go - Task1 - 初探
Task01 - 初探环境安装安装Go官网下载Go: https://golang.org/dl/我选择的是 go1.15.6.windows-amd64安装windows下会自动添加到环境变量中故一路next配置好后在cmd中输入就可以看到结果了go version安装GoLand官网下载GoLand: https://www.jetbrains.com/go/download/#section=windows我这边选择的是: goland-2020.3原创 2020-12-14 17:30:40 · 355 阅读 · 0 评论