如何在Go语言中使用Websockets:最佳工具与行动指南
以下文章来源于TonyBai ,作者白明的赞赏账户
如今,在不刷新页面的情况下发送消息并获得即时响应在我们看来是理所当然的事情。但是曾几何时,启用实时功能对开发…
由浅入深学习Golang的sync.Map
前言
今天在技术群中有小伙伴讨论并发安全的东西,其实之前就有写过map相关文章:由浅入深聊聊Golang的map。但是没有详细说明sync.Map是怎么一回事。…
深入浅出 Golang/Go Runtime运行时原理
介绍
本文主要内容如下:
Golang Runtime 是个什么? Golang Runtime 的发展历程, 每个版本的改进
Go 调度: 协程结构体, 上…
基于Go语言的滴滴DevOps重塑之路
研发效率和系统稳定性是研发团队永远无法绕开的话题,前者决定业务迭代效率,而后者决定交付质量。多年来,滴滴在保障稳定性的前提下不断探索更高效的技术手段,积累了大量…
golang/go语言泛型的使用
前言
泛型 是什么? 其实这个问题对于学过 C++ 的同学来说不陌生就是模版嘛, 在运行时才确定类型嘛. 确实这两句话就基本能解析清楚, 但像一些只接触过 …
多图详解Go/Golang语言内存分配原理
Go语言内置运行时(就是runtime),抛弃了传统的内存分配方式,改为自主管理。这样可以自主地实现更好的内存使用模式,比如内存池、预分配等等。这样,不会每次内…
标题都看不懂:舍弃表达式中可选的结果值对程序行为的影响
以下文章来源于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标准编译器对字符串和字节切片之间的转换操作所做的一些优化
以下文章来源于Go 101 ,作者老貘
我们知道,在Go中,一个字符串其实是一个只读字节序列。在正常情况下,
从一个字符串转换为字节切片的过程中将把字符串中的…
通过测试学习Go语言:for 迭代
你可以在这里找到本章的所有代码[1]
在 Go 中 for 用来循环和迭代,Go 语言没有 while,do,until 这几个关键字,你只能使用 for。这…
Go值比较规则和其中的一些细节
以下文章来源于Go 101 ,作者老貘
在Go中,两个类型确定值是否可以比较取决于这两个值的类型是否相同或者其中的一个是否可以隐式转换为另一个的类型。另外一条规…
如何声明支持有默认值的可选参数的函数?
以下文章来源于Go 101 ,作者老貘
我们知道,Go中的函数是不支持带默认值的可选参数的。这是Go语言的设计者为了保证代码可读性特意抛弃的功能。那么我们真得无…
如何完美地克隆一个切片
以下文章来源于Go 101 ,作者老貘
Go官方维基上列出了两种复制克隆切片的方法。第一种是:
b = make([]T, len(a))
copy(b, …