![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
文章平均质量分 61
hjxisking
这个作者很懒,什么都没留下…
展开
-
go测试覆盖率
go测试覆盖率原创 2024-01-08 16:13:28 · 460 阅读 · 0 评论 -
GORM笔记
GORM笔记转载 2023-08-11 11:56:54 · 115 阅读 · 0 评论 -
Go 利用channel阻塞实现并发控制
Go 利用channel阻塞实现并发控制原创 2023-02-08 16:57:31 · 147 阅读 · 0 评论 -
Go 语言中方法的默认、可选参数
Go 语言中方法的默认、可选参数翻译 2023-02-08 14:44:53 · 1067 阅读 · 0 评论 -
Go 防止缓存击穿之进程内共享调用
防止缓存击穿之进程内共享调用转载 2023-02-03 15:38:27 · 83 阅读 · 0 评论 -
Go 自带的http测试包 httptest 使用介绍
Go httptest 单元测试web接口原创 2023-01-13 13:37:47 · 705 阅读 · 0 评论 -
Golang的条件编译参数-tags解决项目的debug模式
golang 条件编译参数原创 2023-01-06 11:00:16 · 1071 阅读 · 0 评论 -
ULID 一种比UUID更好的方案
ULID 一种比UUID更好的方案转载 2022-12-09 17:44:10 · 205 阅读 · 0 评论 -
Go goroutine 取消
Go 利用context取消 goroutine原创 2022-12-01 11:18:59 · 124 阅读 · 0 评论 -
Go gRPC 入门
go grpc原创 2022-11-30 16:56:10 · 557 阅读 · 0 评论 -
分布式事务框架Go版本(seata-golang)
https://github.com/opentrx/seata-golang原创 2022-02-17 16:56:47 · 573 阅读 · 0 评论 -
Uber Go 语言编码规范
uber-go/guide 的中文翻译EnglishUber Go 语言编码规范Uber 是一家美国硅谷的科技公司,也是 Go 语言的早期 adopter。其开源了很多 golang 项目,诸如被 Gopher 圈熟知的 zap、jaeger 等。2018 年年末 Uber 将内部的 Go 风格规范 开源到 GitHub,经过一年的积累和更新,该规范已经初具规模,并受到广大 Gopher 的关注。本文是该规范的中文版本。本版本会根据原版实时更新。版本当前更新版本:2021-11-23 版本地..转载 2022-01-19 10:26:50 · 458 阅读 · 0 评论 -
Golang 的 协程调度机制
前序正确地认识 G , M , P 三者的关系,能够对协程的调度机制有更深入的理解! 本文将会完整介绍完 go 协程的调度机制,包含:调度对象的主要组成 各对象的关系 与 分工 gorutine 协程是如何被执行的 内核线程 sysmon 对 gorutine 的管理 gorutine 协程中断挂起 与 恢复 GOMAXPROCS 如何影响 go 的并发性能调度器的三个基本对象:Golang 简称 Go,Go 的协程(goroutine) 和我们常见的线程(Thread)一样,拥有其转载 2021-06-09 17:50:21 · 670 阅读 · 0 评论 -
浅谈Go语言的Goroutine和协程
0x00.前言老幺小说网 www.laoyao.org前面写了一篇初识Go语言和大家一起学习了Go语言的巨大潜力、语言简史、杀手锏特性等,感兴趣的读者可以回顾一下。今天来学习Go语言的Goroutine机制,这也可能是Go语言最为吸引人的特性了,理解它对于掌握Go语言大有裨益,话不多说开始吧!通过本文你将了解到以下内容:什么是协程以及横向对比优势 Go语言的Goroutine机制底层原理和特点0x01.聊聊协程大家对于进程、线程二位明星都很熟悉,但协程就没有火了,是协程不是携程哦转载 2021-05-07 11:24:54 · 301 阅读 · 0 评论 -
Go语言中切片扩容引起的内存地址变更
切片的扩容初始化切片的时候,make函数会定义切片的初始大小以及容量,当切片进行append操作后,会出现容量不足的情况,那么系统会自动扩充容量,扩充的容量大小等于之前切片的容量大小,也就是容量翻倍由于切片的底层是基于数组实现的,我们知道数组是无法改变大小的,那么切片又是如何做到突破数组大小来扩容的呢?答案很简单,重新创建一个新的翻倍大小的数组,并将之前数组内容copy过来就好了所以,问题就来了,一旦切片扩容了,那么“它”就不再是原来的“它”了,意思就是切片指向的地址已经发生了改变,不再指向原来.原创 2021-04-13 14:29:34 · 1164 阅读 · 1 评论 -
go微服务框架go-micro
https://github.com/lpxxn/gomicrorpc原创 2020-08-26 16:11:19 · 150 阅读 · 0 评论 -
Dockerfile的多阶段构建(multi-stage builds)
编写Dockerfile的时候会遇到一个问题,制作镜像的时候由于需要编译可执行文件而引入了大量运行时不需要的工具,导致镜像特别大。比如:为了编译一个go的可执行文件,需要引入golang这个官方镜像进行编译,这个进行大小是810M,但是真正运行的时候是不需要如此大的镜像的。那么 multi-stage builds 就祈祷了很大的作用hello.gopackage mainimport ( "fmt" "time")func main() { for {原创 2020-08-24 17:15:36 · 623 阅读 · 0 评论 -
程序员go语言开发效率神器汇总!
一. 开发工具1)sql2go用于将 sql 语句转换为 golang 的 struct. 使用 ddl 语句即可。例如对于创建表的语句: show create table xxx. 将输出的语句,直接粘贴进去就行。http://stming.cn/tool/sql2go.html2)toml2go用于将编码后的 toml 文本转换问 golang 的 struct.https://xuri.me/toml-to-go/3)curl2go用来将 curl 命令转化为具体的 gola转载 2020-08-19 11:07:44 · 628 阅读 · 0 评论 -
go语言的type func()用法
在go语言中,type可以定义任何自定义的类型比如熟悉的:type dog struct{},type myInt int 等等所以func也是可以作为类型自定义的,type myFunc func(int) int,意思是自定义了一个叫myFunc的函数类型,这个函数的签名必须符合输入为int,输出为int已知,相同底层类型的变量之间是可以相互转换的,例如从一个取值范围小的int16转为取值范围大的int32所以,自定义的 myInt 和 int 之间也是可以转换的type myIn原创 2020-07-20 20:03:32 · 13227 阅读 · 11 评论 -
Go的接口总结
一、什么是接口 接口类型是一种抽象的类型,它描述了一系列方法的集合。 接口约定:接口类型中定义的方法即为约定,若一个具体类型实现了所有这些方法,则该类型就满足该接口的约定,或者说它是这个接口类型的实例(实现了该接口)。 可替换性(LSP里氏替换):满足相同接口约定的类型之间可进行相互替换。例如:若一个方法的形参定义为接口类型,那么它可以接收任何满足该接口约定的类型的实参。 接口内嵌:接口类型可通过组合已有的接口来定义 io.Writer接口提供了所有的类型写入bytes的抽象,包括文件原创 2020-06-18 11:59:03 · 169 阅读 · 0 评论 -
golang使用go mod导入本地包和第三方包的问题
一、本地包和第三方包导入项目时遇到的问题导入第三方包的方式:import "github.com/astaxie/beego"导入本地包的方式:// 导入本地的一个命名为model的包import "./model"这个时候,如果使用go mod方式来管理包依赖,那么beego将正常下载安装并引入,但是本地的model包却会提示找不到如果不使用go mod方式,并去掉...原创 2020-03-31 15:20:32 · 22407 阅读 · 1 评论