访问已经关闭的 chanel // exp3 用来测试访问一个已经关闭的且里面还有值未取出的 chanel 会发生什么事? // 结果是先取出 chanel 里面的值,之后返回零值 func exp3(){ sigCh:…
分类:go教程
一些程序员值得看的电子书
https://github.com/guanhui07/… 自取 上传到这里 《PHP7内核剖析》 深入理解PHP最佳良品 《鸟哥的Linux私房菜》 可能有点历史久远了, 《Modern PHP (中文版…
Beego Logs 源码分析 中篇
文件输出引擎使用到的读写锁 sync.RWMutex 读写锁是一种同步机制,允许多个读操作同时读取数据,但是只允许一个写操作写数据。锁的状态有三种:读模式加锁、写模式加锁、无锁。 无锁。读/写进程都可以进入。 读模式锁。…
[GO语言] 构造带有请求体的HTTP GET
前言 传统的 web 应用约定 http.GET 请求不允许携带请求体。然而现在已是 9102 年,restful style的接口逐渐流行,通常我们在查询某个资源的时候会使用 http.GET 作为请求方法,使用 js…
如何自建一个k8s ingress 思路
如何自建一个k8s ingress 思路 ingress 接入方案 我们都知道访问k8s 集群的服务需要ingress 接入。 据我所知,ingress 接入的方案有4种 1.云厂商提供LoadBalance, 比如al…
BUTXO详解
在比原链中,每个交易消耗之前交易生成的BUTXO 然后生成新的 BUTXO,账户的余额即所有属于该地址的未花费 BUTXO 集合,BTM 的全局状态即当前所有未花费的BUTXO 集合。我们用一个具体的例子说明。 比原的状…
当 Go 遇上了 Lua
在 GitHub 玩耍时,偶然发现了 gopher-lua ,这是一个纯 Golang 实现的 Lua 虚拟机。我们知道 Golang 是静态语言,而 Lua 是动态语言,Golang 的性能和效率各语言中表现得非常不错…
Go 利用chan嵌套chan 实现函数异步执行 顺序返回值
遇到的问题 异步对于绝大多数的开发而言并不陌生,在go语言中异步的实现变得异常方便。只要在执行的方法前加一个go关键字就可以实现异步操作。但是如果需求是,按照调用的先后顺序(FIFO)来返回值我们应该怎么办。大家都知道,…
Golang 日期/时间包的使用
golang 的日期时间包:time 的使用方式。 time package 包含了 time.Time 时间对象 及 构建此时间对象的一些方法(time.Unix(), time.Parse()) golang 可精确…
Go 单元测试和性能测试
测试对于互联网应用软件开发来说非常重要,它对软件可靠性保证具有重要意义,通过测试能够尽可能发现并改正软件中的错误,提高软件质量。 这里我们主要讲解Go语言如何实现单元测试和性能测试。 go语言中自带有一个轻量级的测试框架…
Go 实现简易 RPC 框架
本文旨在讲述 RPC 框架设计中的几个核心问题及其解决方法,并基于 Golang 反射技术,构建了一个简易的 RPC 框架。 项目地址:Tiny-RPC RPC RPC(Remote Procedure Call),即远…
Beego Logs 源码分析 上篇
Beego Logs 使用 先大致了解怎么使用,再进行剖析。 // Test console without color func TestConsoleNoColor(t *testing.T) { log := Ne…