Golang map源码分析

map结构整体为一个数组,数组每个元素可以理解成一个槽,槽是一个链表结构,槽的每个节点可存8个元素,搞清楚了map的结构,想想对应的增删改查操作也不是那么难1:槽大小计算&hash算法我们可以简单的理解成:槽大小为1<

Golang 性能优化技巧—低级优化

前言自上篇文章写了Golang性能优化技巧—基础编码原则,已经过了一段时间了。“低级优化”这个名词的含义是针对现代处理器的结构体系来设计代码,使自己运行的程序更充分发挥出处理器应该有的性能。

在Golang中使用日志模块

程序编写过程中,日志非常重要,养成打印日志的习惯,可以帮你在程序编写过程中,少走很多弯路。到标准输出中,和“fmt”不同的是,日志开头会带上时间信息,默认情况下,日志会打印到标准错误输出中,通过配置可以打印在文件中,这是常用的方式。

Golang 的 Websocket 教程

嗨,开发人员!在本教程中,我们将研究如何在我们自己的基于 Go 的程序中使用 WebSockets 来做一些很酷的实时事情。

Golang开山篇

1 Golang概述。1.1 Go是 一种静态强类型、编译型语言。大名鼎鼎、如雷贯耳,Unix操作系统的发明人之一,C语言前身B语言的设计者,UTF-8编码设计者之一,图灵奖得主。

「第三十五期」Golang社招面经-快手

快手:4轮技术1hr 口头offer一面:欢乐局看你简历大学有竞赛经历,算法都懂吧?我:了解 面试官:嗯,了解就不问了raft算法懂不?我:懂 面试官:嗯,懂就不问了讲讲tidb讲讲newsql项目吞吐量,怎么优化的性能?工作有啥亮点?产出?共识怎么做的?

「一起学Golang」Go的编程基础《二》

本节我们继续学习Go语言的基本语法,可参考阅读第一节。浮点类型Go语言中的浮点类型主要有。float32float64complex32实部和虚部都是一个float32complex64实部和虚部都是一个float64其中复数类型有两个。

Golang入门教程——基本操作篇

今天是Golang专题的第四篇,这一篇文章将会介绍golang当中的函数、循环以及选择判断的具体用法。函数在之前的文章当中其实我们已经接触过函数了,因为我们写的main函数本质上也是一个函数。只不过由于main函数没有返回值,也没有传参,所以省略了很多信息。

Golang sync包的7件法宝

将任务队列中的任务数量-1,其实.Done就是.Addg.Wait这里会发生阻塞,直到队列中所有的任务结束就会解除阻塞sync.Mutexmutex:=sync.Mutex{};mutex.Lock。

Golang 变量作用域的坑,我踩过你踩过的坑

“我吹过你吹过的晚风” ……最近在使用 gin + gorm 遇到两个问题,困了我一天一夜,终于在第二天搞明白了。