-
Go select 死锁的一个细节
下面对是一个 select 死锁的问题 package main import "sync" func main() { var wg syn...
-
Go官方工具链用法详解
Go官方工具链 为了从任意目录运行Go官方工具链中工具命令(通过go命令), Go官方工具链安装目录下的bin子目录路径必须配置在PATH环境变量中。 当使用安装...
-
Go语言--切片(Slice)详解
说明: Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"...
-
golang交叉编译详细
1、环境变量对照表 golang交叉编译环境变量对照表 GOOS | GOARCH | OS VERSION ---|---|--- linu...
-
Go 泛型和非泛型代码详解
1. 开启泛型 在 Go1.17 版本中,可以通过: export GOFLAGS="-gcflags=-G=3" 或者在编译运行程序时加上:...
-
Go语言基础语法之结构体及方法详解
结构体类型可以用来保存不同类型的数据,也可以通过方法的形式来声明它的行为。本文将介绍go语言中的结构体和方法,以及“继承”的实现方法。 结构体类型 结构体类型(...
-
Go并发编程实现数据竞争
1.前言 虽然在 go 中,并发编程十分简单, 只需要使用 go func() 就能启动一个 goroutine 去做一些事情,但是正是由于这种简单我们要十分当...
-
golang进行简单权限认证的实现
使用JWT进行认证 JSON Web Tokens (JWT) are a more modern approach to authentication....
-
Go语言中CGO的使用实践
部门产品业务功能采用Golang开发,但是有些功能是用c写的,比如说net-sn...
-
go语言yaml转map、map遍历的实现
yaml文件内容 apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name...
-
go语言实现mqtt协议的实践
一、什么是MQTT MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish...
-
一些关于Go程序错误处理的相关建议
前言 Go的错误处理这块是日常被大家吐槽较多的地方,我在工作中也观察到一些现象,比较严重的是在各层级的逻辑代码中对错误的处理有些重复。 比如,有人写代码就会在每...
-
详解如何在Go服务中做链路追踪
使用 Go 语言开发微服务的时候,需要追踪每一个请求的访问链路,这块在 Go 中目前没有很好的解决方案。 在 Java 中解决这个问题比较简单,可以使用 MDC,...
-
谈论Go 什么时候会触发 GC问题
在早期经常遭到唾弃的就是在垃圾回收(下称:GC)机制中 STW(Stop-The-World)的时间过长。那么这个时候,我们又会好奇一点,作为 STW 的起始,Go...
-
Go语言变量与基础数据类型详情
一、基础介绍 Go 是静态(编译型)语言,是区别于解释型语言的弱类型语言(静态:类型固定,强类型:不同类型不允许直接运算) 例如 python 就是动态强类型语...
-
Go语言中的逃逸分析究竟是什么?
1、逃逸分析介绍 学计算机的同学都知道,在编译原理中,分析指针动态范围的方法称之为逃逸分析。通俗来讲,当一个对象的指针被多个方法或线程引用时,我们称这个指针...
-
深入浅析Go中三个点(...)用法
‘…' 其实是go的一种语法糖。 它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。 第二个用法是slice可以被打散进行传递。 实...
-
搜狗输入法电脑版自动升级怎么关闭?搜狗输入法电脑版自动升级关闭方法
很多小伙伴在使用搜狗输入法电脑版的时候,想知道自动升级怎么关闭,下面小编就为大家带来搜狗输...