
golang
GavinXujiacan
你们不要关注我啦,博客不会再更新啦~我已经不打算深耕技术啦~只想做些暴富赚钱的事情啦~技术再见~
展开
-
【我的架构师之路】- go1.14.16源码分析笔记之源码目录
hello,大家好,是个多年,我的博客又开始要有动静了!之前真的是没时间和动力再写了!最近开始打算重新整理下 go的源码分析,所以download了go最新版源码(现在时间为: 2020.07.20) go.1.14.16 来进行源码全面剖析并整理成笔记,我们大家一起成长! 首先,按照惯例我们先来看看那go1.14.16的源码目录结构。├─api├─bin├─doc│ ├─articles│ │ └─wiki│ ├─codewalk│ ├─gopher│ │ └...原创 2020-07-20 11:55:32 · 748 阅读 · 0 评论 -
golang奇技淫巧笔记】- "//go:" 随便聊聊
在座的看看官,首先,本文毫无技术含量,只是作者做个放置忘记的参考笔记用的,所以,你们还是别往下看了!谢谢!我们如果查看过go源码的一般都会看到有 //go: xxx 之类的注释。那么这种注释到底是干嘛用的呢?其实啊,这种注释都是有特殊含义的,一般就是为了提醒 编译器对代码做相应的处理的。来,下面我们就说说这些特殊的注释吧。//go:noinline表示不做内联(什么是内联? ...原创 2019-11-05 15:19:08 · 1036 阅读 · 0 评论 -
【golang奇技淫巧笔记】- 确保一个对象在第一次使用后不被复制的检查
在有些特殊场景我们需要某个对象实例在使用过程中不能被复制,这时候我们就可以使用到 uintptr 和unsafe.Pointer 以及atomic.CompareAndSwapUintptr( ) 来写出一个 check 方法,具体如下:package mainimport ( "unsafe" "fmt" "sync/atomic")/**保证 check 在第一次被...原创 2019-07-18 10:11:51 · 619 阅读 · 0 评论 -
【我的架构师之路】- 从package main 的func main() 的深入go源码分析
【转载请标明出处】https://blog.youkuaiyun.com/qq_25870633/article/details/85474216hello,大家,今天在2018年的最后一天,写一个短文。最近除了之前一直在学习的区块链相关外,也对go的源码开始有粘上了。那么,很多人对于自己写的一个 go 程序是如何的运行的,或者说是如何作为入口一步步往下执行的?相信大家都有疑惑;又或者说自己写了一个 de...原创 2018-12-31 23:30:13 · 993 阅读 · 0 评论 -
【我的架构师之路】- golang源码分析之interface的底层实现
【转载请标明出处】:https://blog.youkuaiyun.com/qq_25870633/article/details/83448222今天我们来说一说 golang中的interface的讲解。golang的interface 类似java的Object,也类似 scala中的Any,类似于C++中的void*,但是又不一样。interface 是否包含有 method,底层实现上用两种...原创 2018-12-31 00:47:15 · 2104 阅读 · 5 评论 -
【我的架构师之路】- 说一说go中的sync包
【转载请标明出处】https://blog.youkuaiyun.com/qq_25870633/article/details/83448234好久没写博客了!这段时间一直忙于赶公链项目。今天就不打算将区块链的文章了,因为。。。我承诺过每个月4篇文章的,然鹅,这个10月过去了,我TM还没写一篇文章。如果写链相关的篇幅太长,太耗时(下个月继续以太坊源码分析吧),算了今天就写一写 go的一些源码分析吧。...原创 2018-12-26 09:40:03 · 2738 阅读 · 4 评论 -
【我的架构师之路】- 说一说go中的unsafe包
【转载请标明出处】https://blog.youkuaiyun.com/qq_25870633/article/details/83422886在golang的原生库中有一个叫做unsafe的包,该包主要是做对内存位移的一些操作。首先我们来看下unsafe包的成员: 三个函数: 可以参考 https://blog.youkuaiyun.com/libing_thinking/article/detail...原创 2018-10-27 14:17:26 · 477 阅读 · 0 评论 -
【我的架构师之路】- golang源码分析之channel的底层实现
【转载请标明出处】https://blog.youkuaiyun.com/qq_25870633/article/details/83388952接上篇文章 【我的区块链之路】- golang源码分析之select的底层实现 我这里因为面试的时候也有被问到过 channel的底层实现,所以就一并的去把 channel 啊,goroutine啊,go协程的调度器啊,interface啊,mutex啊,rwm...原创 2018-10-27 00:35:33 · 5112 阅读 · 2 评论 -
【我的架构师之路】- golang源码分析之select的底层实现
【转载请标明出处】https://blog.youkuaiyun.com/qq_25870633/article/details/83339538最近本人再找工作,恩,虽然本人使用go有2年左右了,但是其实还只是停留在语言使用的技巧位面,语言的很多底层实现机制还不是很清楚的,所以面试被问到很多底层,就很懵逼。这篇文章主要是自己对go学习的笔记。(本人还是一只菜鸡,各位海涵)文章参考:http://...原创 2018-10-25 20:13:19 · 3370 阅读 · 2 评论 -
【我的架构师之路】- golang源码分析之协程调度器底层实现( G、M、P)
本人的源码是基于go 1.9.7 版本的哦!紧接着之前写的 【我的区块链之路】- golang源码分析之select的底层实现 和 【我的区块链之路】- golang源码分析之channel的底层实现 我们这一次需要对go的调度器做一番剖析。go的调度器只要实现在 runtime 包中,路径为: ./src/runtime/proc.go 文件中。我们都知道go的强大是因为可以起很多 ...原创 2018-10-30 23:28:56 · 5945 阅读 · 7 评论