技术教程
GO语言延迟函数defer怎么使用
go语言中defer最主要的目的是在函数执行完毕后及时的释放资源 入门案例 package main import "fmt" func&n…
GO语言make和new关键字有什么区别
1. new 和 make 执行报错 执行下面的代码会引发 panic,为什么呢? 在 Go 语言中对于引用类型的变量,我们在使用的时候不仅要声明它,还要为它分配内存空间,否则我们…
Go语言怎么实现聊天小工具
代码实现 server.go package main import ( "bufio" "fmt" &q…
Go语言读取文件的方式有哪些
整个文件读取 我们可以很容易地一次性读取整个文件并将其存储在一个变量中。但请记住,我们不应该对大文件这样做。我们将使用ioutil.ReadFile() 函数来读取文件并将文件的内…
基于Go语言怎么实现分金币游戏
问题 你有50枚金币,需要分配给以下几个人:Matthew,Sarah,Augustus,Heidi,Emilie,Peter,Giana,Adriano,Aaron,Elizab…
Go语言中Struct、继承、匿名字段和内嵌结构体源码分析
在golang中,采用匿名结构体字段来模拟继承关系。这个时候,可以说 Student 是继承自 Person . type Person struct …
Go语言中为什么要有GMP调度模型
GMP调度模型是Go的精髓所在,它合理地解决了多线程并发调度协程的效率问题。 GMP是什么 首先得清楚,GMP各代指什么东西。 G: Goroutine的缩写,指协程,运行在线程上…
Go语言进阶freecache源码分析
00. 什么是 freecache? freecache 是一个用 go 语言实现的本地缓存系统(类似于 lru)。 它有几个特性值得注意: 通过优秀的内存管理方案,实现了 go …
go语言中的create方法如何用
go语言中create方法是指“os.Create”函数,该函数的作用是使用指定的名称来创建一个新的文件或截断一个现有的文件;其使用方法是:1、创建一个go示例文件;2、通过“os…
Go语言Sync.Pool不加锁也能实现线程安全的原因是什么
1. 简介 我们在 Sync.Pool: 提高go语言程序性能的关键一步 一文中,已经了解了使用sync.Pool来实现对象的复用以减少对象的频繁创建和销毁,以及使用sync.Po…