go语言
go语言学习笔记
安安静静敲代码
人生苦短,我用python
go语言
展开
-
golang教程从基础到进阶再到实战这一篇就够了
我们公司后期要转向golang,所以从现在开始我要在业余时间系统的学习一下golang这门语言,在本文中将从基础到高级再到实战,一点点深入了解golang这门语言,我会在我个人使用golang的iris框架搭建的一个网站上持续更新我的学习笔,本篇文章将成为我学习的目录,方便以后查阅,欢迎大家收藏本篇文章,我将会持续更新,如果有哪里写的不对的请大家评论指出,让我们共同成长。基础部分1.go语言基础数据类型-布尔-数字-字符串-复数- 复合数据类型-错误2.go语言-变量-常量-零值-关键字-iota枚举原创 2020-11-01 14:19:33 · 1347 阅读 · 4 评论 -
redigo的安装以及使用示例(demo从beego中分离)
安装go get github.com/gomodule/redigo/redisbeego中分离的 demopackage mainimport ( "fmt" "github.com/garyburd/redigo/redis")var MAX_POOL_SIZE = 2 // 最大连接数var redisPool chan redis.Connfunc InitRedis(network, address string, db int64) redis.Conn {原创 2020-10-29 10:30:39 · 343 阅读 · 0 评论 -
go zap + lumberjack 日志按大小分割demo整理
安装:go get -u go.uber.org/zapgo get -u github.com/natefinch/lumberjack// 如果使用go mod管理包需要在执行go mod vendorpackage mainimport ( "net/http" "github.com/natefinch/lumberjack" "go.uber.org/zap" "go.uber.org/zap/zapcore")var sugarLogger *zap.Sugar原创 2020-07-12 11:51:01 · 1913 阅读 · 0 评论 -
go语言学习笔记十二 json序列化和反序列化
1 go 内置json标准库package mainimport ( "encoding/json" "fmt")type User struct { // string 序列化输出时会已string类型输出 Id int `json:"id,string"` // 注意点 :和,左右没有空格 Name string `json:"name"` age int // 小写...原创 2020-04-18 20:19:04 · 292 阅读 · 0 评论 -
go语言学习笔记十一 Go mod包管理
// 支持mod 管理 go env -w GO111MODULE=on go mod init 项目名// 项目中创建main.go文件,导入需要用到的包// 执行命令:go mod tidy go mod vendor -v // 当前目录下生产vendor目录,包含所有依赖包问题总结// 使用出现错误时需要执行 go mod init: modules disabled b...原创 2020-04-14 14:30:30 · 504 阅读 · 0 评论 -
go语言学习笔记十 文件处理
1.读取大文件1.1 读取大文件package mainimport ( "bufio" "fmt" "io" "os")func main() { // 基本使用 // 打开文件 返回文件指针和错误信息 file, err := os.Open("./test.txt") if err != nil { fmt.Printf("1.error:%v\n", er...原创 2020-04-12 15:04:30 · 131 阅读 · 0 评论 -
go语言学习笔记九 接口基本使用和最佳实践
1.基本使用 接口是引用类型package mainimport "fmt"// 定义接口type Usb interface { // 声明两个没有实现的方法 // 在其他结构体中使用时必须实现所有方法 Start(a int) int Stop()}// 定义 3个结构体type Phone struct {}type Camera struct {}t...原创 2020-04-09 18:01:55 · 234 阅读 · 0 评论 -
go语言学习笔记八 继承
继承基本使用package mainimport "fmt"type StudentBase struct { Name string Age int Score float64}func (p *StudentBase) ShowInfo() { fmt.Printf("1.StudentBase Name:%v Age:%v Score:%v\n", p.Name...原创 2020-04-06 19:11:55 · 174 阅读 · 0 评论 -
go语言学习笔记七 方法,工厂函数使用
1.方法的基本使用package mainimport "fmt"type Person struct { Name string}// 自定义基本类型也可以绑定方法type Integer intfunc (i *Integer) change(a int)(ret int){ ret = a + 10 *i = *i + 1 return ret}// ...原创 2020-04-05 21:40:29 · 444 阅读 · 0 评论 -
go语言学习笔记六 结构体
1.结构体 自定义的数据类型 值类型package mainimport "fmt"// 定义一个cat结构体 type 结构体名称 struce { }// 结构体名称和字段首字母大写可以被其他包使用,小写为私有// 结构体的字段类型为:指针,slice,和map的零值为 nil 即没有分配空间// 实例化使用的时候需要使用make创建type Cat struct { Na...原创 2020-04-03 21:08:55 · 182 阅读 · 0 评论 -
go语言学习笔记五 数组,切片,map
1 数组 值类型package mainimport "fmt"func main() { // 数组定义 名称 [数量] 类型 var array1 [5] int // 数组定义 名称 [数量] 类型 初始化 array2 := [3] int{1,3,5} // 数组定义多个int ... array3 := [...] int{2,4,6,8,10} // 二位数组...原创 2020-04-02 18:07:58 · 148 阅读 · 0 评论 -
go语言学习笔记四 流程控制(if else,switch,for循环)
1 if else 基本使用package mainimport "fmt"func main() { // 基本写法 a := 1 b := 2 if a == 2 { fmt.Printf("满足第一个条件\n") } else if b == 2 { fmt.Printf("满足第二个条件\n") } else { fmt.Printf("满足其他条件\n"...原创 2020-04-01 14:23:36 · 270 阅读 · 0 评论 -
go语言学习笔记三 指针,常用运算符
1.指针的定义,使用,赋值package mainimport "fmt"func main() { var i int64 = 1 fmt.Println("i地址:", &i) // 定义指针ptr 值为变量i的地址 var ptr *int64 = &i fmt.Printf("ptr的地址:%v; ptr的值%v\n", ptr, *ptr) i =...原创 2020-03-31 20:59:42 · 214 阅读 · 0 评论 -
go语言学习笔记二 数据类型,变量,数据类型转换
数据类型类型描述范围uint8无符号 8 位整型0 到 255uint16无符号 16 位整型0 到 65535uint32无符号 32 位整型0 到 4294967295uint64无符号 64 位整型0 到 18446744073709551615int8有符号 8 位整型-128 到 127int16有符号 16 位...原创 2020-03-31 11:57:47 · 145 阅读 · 0 评论 -
go语言学习笔记一 mac开发环境搭建
go官方下载完成直接点击安装终端验证原创 2020-03-30 13:26:43 · 249 阅读 · 0 评论