![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
文章平均质量分 90
康搁搁
做人啊,最重要的就是开心
展开
-
GO学习笔记-1 基本数据类型
变量作用域函数内声明 : 函数作用域内有效函数外声明: 首字母小写:包内可访问首字母大写:全局可访问函数也视作变量{} 内的定义都存在作用域访问权限具有很重要的意义,在 java 中他们使用一组关键字修饰,go 使用了约定使得语法更简洁,但是有时大小写也会为我们添加一些额外的麻烦声明包中的变量,有以下两种声明方式 - var name1,name2 typ...原创 2018-06-22 10:24:27 · 228 阅读 · 0 评论 -
go标准库1-io
go中的IO操作主要由io、io/ioutil、fmt、bufio实现,他们各有自己的特点io 为 IO原语提供基本的接口,他的方法都是异步io,并不保证所有的方法都是并发安全的io/ioutil 主要提供了对文件操作的辅助io和一些常用、方便的IO操作函数bufio 基本的io原语函数调用都需要传入一个缓冲字节,bufio 提供了一个默认的缓冲字节长度,并实现了 io 中常用的接口,可以...原创 2018-12-01 09:10:16 · 284 阅读 · 0 评论 -
GO学习笔记-7 并发安全
前面已经学了 channel 和 sync,现在我们学习如何使用它们解决并发安全问题以通信共享内存看下面的例子 type bank struct { balance int } func (this *bank) Deposit(amount int) { this.balance += amount //b := t...原创 2018-09-27 11:21:40 · 161 阅读 · 0 评论 -
GO学习笔记-10 工具
godocgodoc 命令用于查看文档,他有多个参数,常用的是 godoc -http :8080 访问 8080 端口就可以看到所有文档,不仅能看到标准库的文档,还有个 GOPATH src 下程序的文档为代码添加文档为代码添写注释文档,只需要使用 //注释,就会在 godoc 中显示出来,在包名上添加 //包作用简介,注意:它只会整理可导出变量的文档,// 后使用制表符,会为文档添加代码...原创 2018-10-02 09:16:20 · 97 阅读 · 0 评论 -
GO学习笔记-9 测试
go testtest 命令提供了自动化测试的功能go test 执行当前包下的测试文件 xxx_test.gogo test -v 执行测试文件并打印执行过程中的详细信息我们为 name.go 写的测试文件一般命名为 name_test.go,但 go test 并不关心 name,只关心 _test.go 后缀,当前包下以该后缀结尾的 所有 文件都会被执行在 _test.go 文件...原创 2018-10-02 09:15:46 · 125 阅读 · 0 评论 -
GO学习笔记-8 反射
通常变量在编译期就知道了类型,但有时我们需要一些在编译器不确定的可更新变量,而反射可以不知类型去查看更新值原创 2018-10-02 09:15:19 · 107 阅读 · 0 评论 -
GO学习笔记-6 goroutine 和 通道
从前面方法里了解了 go 的封装和继承,那么多态呢,从接口的定义中实现多态接口go 的接口时隐式实现的,即不需声明结构继承了某个接口,只要提供接口所必需的方法,这样就无需改变类型的实现就可以为这些类型创建新的接口 type Person interface { Eat(s []string) int } type Student int...原创 2018-07-12 21:08:23 · 190 阅读 · 0 评论 -
GO学习笔记-5 接口
严格来说,go 是结构化语言,就像高乐积木一样,但是也可以作为 oop 语言使用方法 type F func(int) int func (f *F) hello() { fmt.Println("hello") } type S struct { name string //getName fun...原创 2018-07-03 19:28:55 · 181 阅读 · 0 评论 -
GO学习笔记-4 函数与oop
函数声明 //可变参数 func ex1(i int, j ...int) { for index, _ := range j { j[index] *= i } } j := []int{1, 2, 3, 4, 5, 6, 7} // slice 解析调用 ex1(2, j...)...原创 2018-07-03 19:28:18 · 137 阅读 · 0 评论 -
GO学习笔记-3 复合数据类型
复合数据类型数组 var a [3]int //[3]int 是一个数组类型,即使是同一type,但不同长度的数组,类型也不相同 for _, v := range a { fmt.Println(v) // 0 0 0 数字会使用类型的默认值初始化 } var b [3]int = [3]int{1, 2, 3} // 声明时初始化,...原创 2018-07-03 19:27:44 · 176 阅读 · 0 评论 -
GO学习笔记-2 程序结构
基本类型整数int8=byte、int16、int32=rune、int64、uint8、uint16、uint32、uint64 内置整数类型,是有点丑,但是的确很直观int,根据所在硬件平台,编译为 32 或 64 位uintptr,其大小并不明确,但足以存下指针,仅用于底层编程浮点数float32、float64、math.MaxFloat32=3.4028...原创 2018-06-22 10:26:11 · 122 阅读 · 0 评论 -
go标准库2-ioutil、fmt、bufio
ioutilioutil 提供了封装过的对文件和目录的简单 io 操作看一个遍历目录的操作func allDir(path string) { fileInfos, err := ioutil.ReadDir(path) if err != nil{ fmt.Println(err) return } for _,f := range fileInfos{ if !...原创 2018-12-01 09:11:02 · 492 阅读 · 0 评论