![](https://img-blog.csdnimg.cn/20190219103135679.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Go语言学习笔记
听课笔记
读书笔记
kongslly
码海求知,只因迷惑.IT的世界博大精深,不是因为不会,而是因为根本不懂
echo H4sIAIWNIV4AA92VwQ7CMAxD7/sKpP3/P3JAqMmznRW0AyISqCqNZzvuOM+76rgN6dehHq1eO/V77buzgFr4vUVb3VlA1aNs0zVhI5QDrtI/gqrH3r9us+rr6li3/tIrtTZ/xgmyOD1y1TpS63JHR6FeCiv1gTF1u1GgmtvnqAqswBRMlUxwsGJuuO5DYNYARd86PEUNXvU89fRwJDVhAaof4SrbANuTawTWRworNlOaenXxZqisKMUlbcOr+lyNo
展开
-
golang类型转换
func intToBytes(n int) []byte { x := int32(n) bytesBuffer := bytes.NewBuffer([]byte{}) binary.Write(bytesBuffer, binary.BigEndian, x) return bytesBuffer.Bytes()}原创 2020-01-17 15:34:52 · 319 阅读 · 0 评论 -
golang获取UUID
package mainimport ( "fmt" uuid "github.com/satori/go.uuid")func main() { // 创建 u1 := uuid.NewV4() fmt.Printf("UUIDv4: %s\n", u1) // 解析 u2, err := uuid.FromString("f5394eef-e576-4709-9e...原创 2020-01-17 14:58:52 · 2479 阅读 · 0 评论 -
GO语言笔记--接口
1.接口interface1)接口是一个或多个方法签名的集合2)只要某个类型拥有该接口的所有方法签名,即算实现该接口无需显示声明实现了哪个接口,这称为Structural Typing3)接口只有方法声明,没有实现,没有数据字段4)接口可以匿名嵌入其他接口,或嵌入到结构中5)将对象赋值给接口时,会发生拷贝,而接口内部存储的是指向这个复制品的指针,既无法修改复制品的状态,也无法获...原创 2019-05-01 18:14:19 · 1309 阅读 · 0 评论 -
GO语言笔记--结构体
1.说明1)go中的struct与C中的struct非常相似,并且go没有class2)使用type <Name> struct {}定义结构,名称遵循可见性规则3)支持指向自身的指针类型成员4)支持匿名结构,可用作成员或定义成员变量5)匿名结构也可以用于map的值6)可以使用字母值对结构体进行初始化7)允许直接通过指针类读写结构成员8)相同类型的成员可...原创 2019-05-01 17:58:22 · 322 阅读 · 0 评论 -
GO语言笔记--方法
1.说明1)go中虽然没有class,但依旧又method2)通过显示说明receiver来实现与某个类型的组合3)只能为同一个包中的类型定义方法4)receiver可以是类型的值或者指针5)不存在方法重载6)可以使用值或指针来调用方法,编译器会自动完成转换7)从某种意义上来说,方法是函数的语法糖,因为receiver其实就是方法所接受的第一个参数8)如果外部结构和...原创 2019-05-01 17:51:58 · 369 阅读 · 0 评论 -
GO语言笔记--函数
1.函数function1)Go函数不支持嵌套、重载和默认参数2)但支持以下特性:无需声明原型、不定长参数、多返回值、命名返回值参数、匿名函数、闭包3)定义函数只有关键字func,且左大括号不能另起一行4)函数也可以作为一种类型使用5)函数可以返回多个值2.defer1)执行方式类似其他语言中的析构函数,在函数执行结束后安装调用顺序的相反顺序逐个执行2)即使函数发生...原创 2019-04-21 00:52:19 · 580 阅读 · 0 评论 -
GO语言笔记--接口
1.接口interface1)接口是一个或多个方法签名的集合2)只要某个类型拥有该接口的所有方法签名,即算实现该接口无需显示声明实现了哪个接口,这称为Structural Typing3)接口只有方法声明,没有实现,没有数据字段4)接口可以匿名嵌入其他接口,或嵌入到结构中5)将对象赋值给接口时,会发生拷贝,而接口内部存储的是指向这个复制品的指针,既无法修改复制品的状态,也无法获...原创 2019-04-20 23:39:32 · 342 阅读 · 0 评论 -
GO语言笔记--map
1.说明1)类似其他语言中的哈希表或者字典,以key-value形式存储数据2)key必须是支持==或!=比较运算的类型,不可以是函数、map或slice3)map查找比线性搜索快很多,但比使用所有房屋数据的类型慢100倍4)map使用make()创建,支持:=这种简写方式5)map使用哈希表,必须可以比较相等6)除了slice,map,function的内建类型都可以错误...原创 2019-04-06 21:17:52 · 285 阅读 · 0 评论 -
Go语言笔记--切片
1.说明1)其本身并不是数组,它指向底层的数组2)作为变长数组的替代方案,可以关联底层数组的局部或全部3)为引用类型4)可以直接创建或从底层数组获取生成5)使用len()获取元素个数,cap()获取容量6)一般使用make()创建7)如果多个slice指向相同底层数组,其中一个的值改变会影响全部8)切片本身没有数据,是对数组底层的一个view2.创建:...原创 2019-03-13 09:16:40 · 325 阅读 · 0 评论 -
Go语言笔记--数组
1.数组Array1)定义数组的格式:var <varName> [n] <type>, n >=02)数组长度也是类型的一部分,因此具有不同长度的数组为不同类型3)注意区分指向数组的指针和指针数组4)数组在Go中为数值类型5)数组直接可以使用==或者!=进行比较,但是不可以使用<或者>6)可以使用new来创建数组,此方法返回一个指...原创 2019-03-08 09:15:36 · 1390 阅读 · 0 评论 -
Go语言笔记--控制语句
1.判断语句if1)条件表达式没有括号2)支持一个初始化表达式(可以是并行方式)3)左大括号必须和条件语言else在同一行4)支持单行模式5)初始化语句中的变量为block级别,同时隐藏外部同名变量package mainimport "fmt"func main() { a := true if a, b, c := 1, 2, 3; a+b...原创 2019-03-01 08:31:43 · 217 阅读 · 0 评论 -
Go语言笔记--常量与运算符
1.常量的定义1)常量的值再编译时就已经确定2)常量的定义格式与变量基本相同3)等号右侧必须是常量或者常量表达式4)常量表达式中的函数必须是内置函数例如://定义单个常量const a int = 1const b = 'A'const ( text = "123" length = len(text) num = b * 20)//...原创 2019-03-01 08:19:46 · 228 阅读 · 0 评论 -
Go语言笔记--数据类型
1.Go基本类型1)布尔型:bool 长度:1字节 取值范围:true,false 注意事项:不可以用数字代表true或false2)整型:int/uint 根据运行平台可能位32或64位3)8位整型:int8/uint8 长度:1字节 取值范围:-128~127/0~2554)字节型:byte(uint8别名)5)16位整...原创 2019-02-21 18:10:48 · 349 阅读 · 0 评论 -
Go语言笔记--基础(二)
1.Go内置关键字go语言一共25个内置关键字,具体如下所示:break default func interface select case defer go map structchan else goto package switvhconst fallthrough if range ...原创 2019-02-19 17:58:54 · 252 阅读 · 0 评论 -
Go语言笔记--基础(一)
1.定义Go是一门并发支持/垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高并发之间拥有良好平衡点的一门编程语言。2.特点1)类型安全和内存安全2)以非常直观和极低代价的方案实现高并发3)高效的垃圾回收机制4)快速编译(同时解决C语言中头文件太多的问题)5)为多核计算机提供性能提升的方案6)UTF-8编码支持3.Go环境变...原创 2019-02-19 10:38:22 · 511 阅读 · 0 评论 -
(golang)HTTP基本认证机制及使用gocolly登录爬取
内网有个网页用了HTTP基本认证机制,想用gocolly爬取,不知道怎么登录,只好研究HTTP基本认证机制参考这里:https://www.jb51.net/article/89070.htm下面开始参考作者dotcoo了:-)看了<<http权威指南>>第12章HTTP基本认证机制(本站下载地址://www.jb51.net/books/93254.htm...转载 2019-04-22 11:21:38 · 2967 阅读 · 1 评论 -
一看就懂系列之Golang的测试
前言每种语言都有自己的测试姿势,golang的作者提供了一个testing的包来供大家完成测试之旅,简单好用,一起走一波。10s后以下知识点即将靠近: 1.为什么需要测试? 2.Golang的测试规矩 3.功能测试 4.压力测试 5.测试代码的覆盖率测试 6.测试所有的参数备忘正文1.为什么需要测试?这个是一个老生常谈的话题了,忘记哪里看的数据了,表明是完善的测试体系(这里...转载 2019-02-28 10:55:20 · 559 阅读 · 0 评论 -
golang中的文件读写
读取文件全部内容package mainimport ( "fmt" "os" "io/ioutil")func main() { f, err := os.Open("input.txt") if err != nil { fmt.Println("os Open error: ", err) ...转载 2019-02-27 10:17:49 · 511 阅读 · 0 评论 -
centos7 搭建go环境
下载go#cd /home#mkdir app#cd app#wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz# tar zxvf go1.9.linux-amd64.tar.gz新建GOPATH目录# mkdir /home/work# vim /etc/profileexport GOROOT=/...转载 2019-02-14 10:49:32 · 554 阅读 · 1 评论