自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Go-unsafe

unsafe主要用在外部的C程序库进行交互。不安全指针unsafe.Pointer() 把它的地址拿出来之后,我们就可以把它转换为任何类型的指针,但是要注意这种转换是非常非常危险,只能用在同类型间,不同类型直接不要用。atomic.StorePointer() 用来将数据存放到一个 unsafe 指针变量里面。atomic.LoadPointer() 用来从 unsafe 指针变量里面读取数据。

2021-07-16 01:09:10 225

原创 Go-反射编程

反射类型:reflect.TypeOf()反射值:reflect.Value()reflect.ValueOf() 只会返回一个值;reflect.TypeOf()可以返回两个值,第二个值可以用来判断这个值有没有。kind() 可以对反射回来的类型做判断值。reflect.TypeOf(s).FieldByName("Name");调用 reflect.ValueOf(s).FieldByName() 方法,必须是结构体进行调用。调用 reflect.ValueOf(&s).MethodB

2021-07-15 22:44:07 482

原创 Go-单元测试

单元测试,表格测试,go test -v -cover,stretchr/testify/assert,Benchmark,b.ResetTimer( ) 和 b.StopTimer() ,go test -bench=. ,go test -bench=. -benchmen,smartystreets/goconvey,$GOPATH/bin/goconvey

2021-07-13 21:39:37 332

原创 Go-并发任务

sync.Once.Do(),仅需任意任务完成,所有任务都完成,buffered channel 实现对象池,数据库连接池,sync.pool

2021-07-08 23:18:43 270

原创 Go-Context与任务取消

Context.Backgroupd(),context.WithCancel()

2021-07-07 21:32:41 680

原创 Go-任务的取消

任务的取消,实现原理,如何判断,代码示例

2021-06-30 23:01:34 529

原创 Go-channel的关闭和广播

Go不关闭channel会怎样,channel 的关闭,channel关闭的特点

2021-06-30 22:10:48 545

原创 Go-多路选择和超时控制

select多路选择机制,超时控制,time.After()

2021-06-28 22:00:46 189

原创 Go-CSP并发机制

CSP,CSP VS Actor,channel,buffer channel

2021-06-28 01:04:01 460

原创 Go-共享内存并发机制

并发控制,线程安全,WaitGroup

2021-06-27 11:57:56 613

原创 Go-协程机制

一、线程VS协程,Go 的调度机制,Go协程的使用

2021-06-27 10:43:51 1031

原创 Go-依赖管理

Go依赖管理,vender 路径,glide

2021-06-27 00:06:00 938

原创 Go-package

在 GOPATH 下查包,在 GOMOD 下查包,多个init 方法,go get 拉取远程,提交自己的 package 到 github

2021-06-26 12:32:34 1167

原创 Go-错误处理

Go的错误处理机制,error 接口,预制错误,os.Exit、panic 和 recover

2021-06-24 21:38:52 261

原创 Go面向对象-拓展和多肽

一、Go的拓展与复用, Go不支持继承,支持多肽

2021-06-22 21:07:49 210

原创 Go面向对象-接口

一、Go 接口,Duck type 式接口实现,接口定义,接口实现,与其它主要编程语言的差异,空接口与断言,Go接口最佳实践

2021-06-20 19:08:59 212

原创 Go面向对象-行为的定义和实现

一、行为的定义和实现,封装数据, 实例的创建和初始化,行为方法的创建和定义

2021-06-20 19:04:18 285

原创 Go 函数

与其它主要编程语言的差异,slice、map、channel 会有传引用的错觉,函数可以有多个返回值,函数作为参数值和返回值,自定义类型,可变长参数和defer延迟执行函数

2021-06-19 10:54:16 263

原创 Go字符串

Go的string与其它主要编程语言的差异, Unicode和UTF8的区别,常用的字符串处理函数

2021-06-18 22:53:06 446

原创 Go Map

Map声明,Map元素的访问,Map 遍历,Map与工厂模式,用Map实现Set

2021-06-16 22:13:34 523

原创 Go数据类型

基本数据类型,类型转换,类型的预定义值,指针类型

2021-06-15 22:59:49 212 2

原创 Go数组和切片

1、数组的声明2、循环数组3、数组截取4、切片的内部结构5、声明切片6、切片的可变长原理7、切片共享存储结构8、数组和切片的异同

2021-06-10 23:25:05 196

原创 Go循环、判断和switch

for循环,if 条件,switch 条件

2021-06-09 23:24:49 323 2

原创 Go运算符

算数运算符,比较运算符,逻辑运算符,位运算符,按位清零

2021-06-08 22:39:56 468

原创 建 Git 仓库

1、把已有的项目代码拉入git管理2、新建的项目直接用 Git 管理

2021-06-01 22:41:16 43

原创 Git 配置 user 信息

配置 user.name 和 user.email,config作用域

2021-06-01 22:12:35 5025

原创 go 常量

字面常量、常量定义、预定义常量、枚举

2021-03-23 00:50:58 161 1

原创 go 变量

变量声明,变量初始化,变量赋值,匿名变量

2021-03-02 20:53:31 138

原创 Go package,import,func

Go语言的package,import,func使用说明

2021-03-02 20:41:45 333

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除