『GCTT 出品』Go Slice vs Map

Slice 和 Map 是 Go 中的两种重要的数据类型。本文将记录我关于这两种数据结构性能的一些关键的发现。
在讨论性能方面之前,我们先来简单介绍一下 Sli…

深度解密Go语言之Slice

以下文章来源于码农桃花源 ,作者饶全成
Go 语言的 slice 很好用,不过也有一些坑。slice 是 Go 语言一个很重要的数据结构。网上已经有很多文章写过…

GCTT | Go 语言中的选择器

首发于:https://studygolang.com/articles/14628
在 Go 语言中,表达式 foo.bar 可能表示两件事。如果 foo 是…

深度解密Go语言之反射

以下文章来源于码农桃花源 ,作者饶全成

正文共: 17712字 12图
预计阅读时间: 45分钟

反射和 Interface 息息相关,而 Interfac…

深度解密Go语言之channel

channel 实现 CSP

Channel 是 Go 语言中一个非常重要的类型,是 Go 里的第一对象。通过 channel,Go 实现了通过通信来实现内存…

深度解密Go语言之context

以下文章来源于码农桃花源 ,作者饶全成
Go 语言的 context 包短小精悍,非常适合新手学习。不论是它的源码还是实际使用,都值得投入时间去学习。
这篇文章…

如何在Go语言中使用Websockets:最佳工具与行动指南

以下文章来源于TonyBai ,作者白明的赞赏账户
如今,在不刷新页面的情况下发送消息并获得即时响应在我们看来是理所当然的事情。但是曾几何时,启用实时功能对开发…

标题都看不懂:舍弃表达式中可选的结果值对程序行为的影响

以下文章来源于Go 101 ,作者老貘
我们知道,Go中的某些表达式可以有一个可选的结果。这样的表达式包括:

数据通道数据发送操作
映射(map)元素索引操作…

Go标准编译器优化:边界检查消除(bounds check elimination)

以下文章来源于Go 101 ,作者老貘
从Go SDK 1.7开始,Go标准编译器开始支持边界检查消除。此优化避免了很多不必要的边界检查,从而使得编译器编译出的…

两个Go语言编程小技巧

以下文章来源于Go 101 ,作者老貘
本文介绍两个Go编程中的小技巧。
技巧1:如何模拟一些其它语言中支持的for i in 0..N循环代码块
我们可以使用…

go 学习笔记之解读什么是defer延迟函数

以下文章来源于雪之梦技术驿站 ,作者雪之梦技术驿站
Go 语言中有个 defer 关键字,常用于实现延迟函数来保证关键代码的最终执行,常言道: "未雨…

Go标准编译器对字符串和字节切片之间的转换操作所做的一些优化

以下文章来源于Go 101 ,作者老貘
我们知道,在Go中,一个字符串其实是一个只读字节序列。在正常情况下,

从一个字符串转换为字节切片的过程中将把字符串中的…

Uber Go语言编码规范

以下文章来源于TonyBai ,作者白明的赞赏账户
Uber是世界领先的生活出行服务提供商,也是Go语言的早期adopter,根据Uber工程博客的内容,大致可…

通过测试学习Go语言:for 迭代

你可以在这里找到本章的所有代码[1]
在 Go 中 for 用来循环和迭代,Go 语言没有 while,do,until 这几个关键字,你只能使用 for。这…

Go值比较规则和其中的一些细节

以下文章来源于Go 101 ,作者老貘
在Go中,两个类型确定值是否可以比较取决于这两个值的类型是否相同或者其中的一个是否可以隐式转换为另一个的类型。另外一条规…

如何声明支持有默认值的可选参数的函数?

以下文章来源于Go 101 ,作者老貘
我们知道,Go中的函数是不支持带默认值的可选参数的。这是Go语言的设计者为了保证代码可读性特意抛弃的功能。那么我们真得无…

go 学习笔记之学习函数式编程前不要忘了函数基础

以下文章来源于雪之梦技术驿站 ,作者雪之梦技术驿站
在编程世界中向来就没有一家独大的编程风格,至少目前还是百家争鸣的春秋战国,除了众所周知的面向对象编程还有日渐…

如何完美地克隆一个切片

以下文章来源于Go 101 ,作者老貘
Go官方维基上列出了两种复制克隆切片的方法。第一种是:

b = make([]T, len(a))
copy(b, …

Go中某些语句中的表达式之间的相对估值顺序未定义

以下文章来源于Go 101 ,作者老貘
Go语言中有很多独特的设计,也有很多从其它语言借鉴过来的设计。总体上看,Go和C语言的血缘最近。事实上,我们可以将Go语…

细说Golang的JSON解析

之前一直写一些动态语言,觉得解析JOSN还是很简单的,往往只需要几行代码就能拿到解析好的JSON对象。Go语言自带的json包可以让你在程序中方便的读取和写入 …