什么是 Defer 延迟执行 Defer 语句用于在当前的 Defer 语句返回之前执行一个函数调用。文字不好理解,直接上代码,更容易理解一点。 package main import "fmt" f...

Go 语言日志指南
你是如何使用 Golang 日志监控你的应用程序的呢?Golang 没有异常,只有错误。因此你的第一印象可能就是开发 Golang 日志策略并不是一件简单的事情。不支持异常事实上并不是什么问题,异常在...
为什么Go会是我最喜爱的语言?
我努力尊重每个人的个人偏好,因此一般我都不会参与讨论类似于什么是最好的编程语言、文本编辑器或操作系统这样的话题。然而,最近很多人问我为什么喜欢用Go语言,所以这里有一篇连贯的文章来填补我临时的个人漫无...

在 Fefora 上开启 Go 语言之旅
Go 越来越受欢迎的原因是性能好、易于编写高并发的程序、语法简单和编译快。 -- Clément Verna Go 编程语言于 2009 年首次公开发布,此后被广泛使用。特别是,Go 已经成为云基础设...
Go 语言之父详述切片与其他编程语言数组的不同
切片是Go 语言核心的数据结构,然而刚接触 Go 的程序员经常在切片的工作方式和行为表现上被绊倒。比如,明明说切片是引用类型但在函数内对其做的更改有时候却保留不下来,有时候却可以。究其原因是因为我们很...

Go 编程语言的简单介绍
Go 有 C 风格的语法(没有预处理器)、垃圾回收机制,而且类似它在贝尔实验室里被开发出来的前辈们 (以下内容是我的硕士论文的摘录,几乎是整个 2.1 章节,向具有 CS 背景的人快速介绍 Go) G...
Go 语言中让某个协程无限堵塞的几种方式.
Go 语言自带的 goroutine 特性会让我们需要在某些时候由 main 函数启动一些协程之后就无限阻塞, 让别的协程处理问题. 以下是一些方式: 死循环法 for {;} 使用这种方式会让你的程...
Go语言中切片操作
其中切片是基于数据中连续片段的引用,是一个引用类型。与数组不同的是,切片的长度可以在运行时修改。使用上可以将切片看作是长度可变的数组。即使超过了底层数组的最大长度,也可以继续扩容。 图例为: 切片的实...
Go 每日一库之 jennifer
今天我们介绍一个 Go 代码生成库jennifer。jennifer支持所有的 Go 语法和特性,可以用它来生成任何 Go 语言代码。 感谢@kiyonlin的推荐! 快速使用 先安装: $ go g...
用Go构建不可变的数据结构
共享状态
215