加载中
sync.Map源码分析

sync.Map源码分析 背景 众所周知,go普通的map是不支持并发的,换而言之,不是线程(goroutine)安全的。博主是从golang 1.4开始使用的,那时候map的并发读是没有支持,但是并发写会出现脏数据。...

06/08 19:55
9
Golang WaitGroup源码分析

针对Golang 1.9的sync.WaitGroup进行分析,与Golang 1.10基本一样除了将panic改为了throw之外其他的都一样。 源代码位置:sync\waitgroup.go。 结构体 type WaitGroup struct { noCopy noCo...

不得不知道的golang之sync.Mutex互斥锁源码分析

针对Golang 1.9的sync.Mutex进行分析,与Golang 1.10基本一样除了将panic改为了throw之外其他的都一样。 源代码位置:sync\mutex.go。 可以看到注释如下: Mutex can be in 2 modes of operat...

consul服务注册与服务发现的巨坑

最近使用consul作为项目的服务注册与服务发现的基础功能。在塔建集群使用中遇到一些坑,下面一个个的记录下来。 consul集群多node consul集群的node也就是我们所说的consul实例。集群由多个n...

你应该了解NewSQL:CockroachDB验证文档

方案八:CockroachDB cockroachdb是分布式、支持事务、支持SQL操作、K-V存储模式的数据库。CockroachDB的三位创始人全部来自Google,其架构受到Google的 Spanner和F1的启发,cockroach开源地...

2017/09/29 10:38
269
Golang面试题解析(三)

21.编译执行下面代码会出现什么? package main var( size :=1024 max_size = size*2 ) func main() { println(size,max_size) } 解析 考点:变量简短模式 变量简短模式限制: ...

2017/09/10 22:30
293
Golang面试题解析(二)

12.是否可以编译通过?如果通过,输出什么? func main() { i := GetValue() switch i.(type) { case int: println("int") case string: println("string") case interface{}: ...

2017/08/18 20:34
1K
Golang官方依赖管理工具:dep

在这里声明一下,百度或者google看到的godep不是我这篇博文说的dep,那它们是什么关系呢?按照Peter Bourgon博文来说,它们的作者都有相同的人,但是一个是dep是官方版本,godep是第三方工具...

2017/08/08 17:56
2.2K
Golang面试题解析

最近在很多地方看到了golang的面试题,看到了很多人对Golang的面试题心存恐惧,也是为了复习基础,我把解题的过程总结下来。 面试题 1. 写出下面代码输出内容。 package main import ( ...

2017/07/21 23:09
2.1K
Golang依赖管理工具:glide从入门到精通使用

介绍 不论是开发Java还是你正在学习的Golang,都会遇到依赖管理问题。Java有牛逼轰轰的Maven和Gradle。 Golang亦有godep、govendor、glide、gvt、gopack等等,本文主要给大家介绍gilde。 gl...

2017/07/19 19:16
6.7K
golang结构体json的时间格式化解决方案

使用了OSC这么久了还没有写一篇博文,真实惭愧!在此写下第一篇。 最近开发项目时候发现一个结构体的Json转换的时间格式问题。 即这种1993-01-01T20:08:23.000000028+08:00 这种表示UTC方法。...

2017/07/15 13:25
96
Golang sync.Cond源码分析

cond的主要作用就是获取锁之后,wait()方法会等待一个通知,来进行下一步锁释放等操作,以此控制锁合适释放,释放频率,适用于在并发环境下goroutine的等待和通知。 针对Golang 1.9的sync.Co...

Golang面试题解析(四)

这是我整理的第四份Golang的面试题了,如果有同学遇到更好的题目欢迎给我反馈。 31. 算法 在utf8字符串判断是否包含指定字符串,并返回下标。 "北京天安门最美丽" , "天安门" 结果:2 解答:...

再测Golang的JSON库

写项目一直需要进行序列化,听到了,也看到了很多同学老师对各个golang的json库进行测评。那本人为什么还要继续进行这一次测评呢? 因为实践过的知识最有说服力,也是属于自己的,我也希望看...

02/09 13:02
83
Golang解决XORM的时区问题

如果你升级使用了较为新版xorm(如v0.6.3)和go-sql-driver(如v1.3)的go类库,那么你就可能会遇到时区问题。 如 time.Parse("2006-01-02 15:04:05" ,"2018-01-15 12:11:12") // 2018-01-15T1...

golang实现PHP的version_compare函数

PHP的version_compare是对比两个「PHP 规范化」的版本数字字符串。 mixed version_compare ( string $version1 , string $version2 [, string $operator ] ) 使用golang实现其中一部分常用的...

2017/12/14 13:33
12
不得不知道的golang知识点之nil

golang中的nil,很多人都误以为与Java、PHP等编程语言中的null一样。但是实际上Golang的niu复杂得多了,如果不信,那我们继续往下阅读。 按照Go语言规范,任何类型在未初始化时都对应一个零值...

2017/10/30 11:37
329
使用golang的channel的坑

很多时候我们经过使用有缓冲channel作为通信控制的功能,以至有一些误解和坑出现。 误解一:有缓存channel是顺序的 执行下面代码。 package main import ( "time" "math/rand" ) f...

2017/09/17 11:33
287
PHP编码gzdeflate与Golang解码DEFLATE

8月7日@黄同学找我问:“数据存到redis是gzdeflate压缩过的数据,golang从redis取出来,解压缩失败”。很多从PHP转Golang的业务经常会遇到,所以写下这篇博文,希望可以帮助更多人。 想要使用...

2017/08/11 10:11
96
Golang高性能json包:easyjson

简介 easyjson是什么呢? 根据官网介绍,easyjson是提供高效快速且易用的结构体structs<-->json转换包。easyjson并没有使用反射方式实现,所以性能比其他的json包该4-5倍,比golang 自带的j...

2017/08/04 20:59
742

没有更多内容

加载失败,请刷新页面

下一页

返回顶部
顶部