标签: GoLang
Java, Go, Python语言的垃圾回收是怎么工作的?
垃圾回收是编程语言中的一种自动内存管理功能,用于回收程序不再使用的内存。它有助于防止内存泄漏并优化系统内存的使用。
垃圾回收器会识别程序无法再访问或……
Go语言流式处理特性,搞定高效的HTTP请求
Go语言中,当你发起一个HTTP请求时,可以通过多种方式来将数据写入请求的body部分。
如果你要处理大型数据或者需要逐步生成请求体数据而不想一次性加载到内存……
三元运算符是什么?为啥Python、Go 和 Rust 都不支持?
编程时,我们经常要作条件判断,并根据条件的结果选择执行不同的语句块。在许多编程语言中,最常见的写法是三元运算符,但是,Python 并不支持三元运算符,无……
后端大厂面试经:GolangGo语言、微服务和Redis
面试深X服的面经汇总,前半部分主要是Go语言相关,后半部分也涉及微服务和Redis。
Slice扩容
slice切片扩容机制?为什么不一直用2倍扩容?
go1.18版本之后……
Centos/Ubuntu/Linux宝塔面板安装go开发环境
前提
服务器已经安装了宝塔面板,如果没有可以使用以下命令一键安装
yum install -y wget && wget -O install.sh https://download.bt.cn/install/inst……
golang开发:使用time包实现原生的定时任务
Go 中,你可以使用标准库中的 time 包来实现原生的定时任务。Go 的 time 包提供了定时器和定时任务的功能,让你可以轻松实现各种定时操作。
一、time.NewTicke……
Golang反射type和kind有什么区别?
一、前言
Go语言中的反射是由 reflect 包提供支持的,它定义了两个重要的类型 Type 和 Value 。任意值在反射中都可以理解为由 reflect.Type 和 reflect.Value ……
Go语言切片底层原理:函数传值、动态扩容机制
本文不会单独去讲解切片的基础语法,只会对切片的底层和在开发中需要注意的事项作分析。
在Go语言中,切片作为一种引用类型数据,相对数组而言是一种动态长度……
Go语言JSON解析届顶流:Sonic
Sonic 是字节跳动开源的一款 Go 语言 JSON 解析库,按照官方的说法:
Sonic 是一个速度奇快的 JSON 序列化/反序列化库,由 JIT (即时编译)和 SIMD (单指……
golang占位符%v,%+v,%#v有什么区别?
一、前言
平时遇到这样的疑问,怎么样解决呢?
教大家一个小技巧,windows直接ctrl+单击fmt包名查看注释即可得到官方的解释,如下
二、案例说明
package mai……
go-redis开发手册:Go语言玩转Redis的正确姿势
Redis是一种流行的内存键值数据库,被广泛用于构建高性能的缓存和消息队列应用。本文将介绍如何通过go-redis访问redis。
go-redis简介
go-redis是一个Go语言中……
编译原理视角看Go程序是怎样跑起来的
引入
我们从一个 helloworld 的例子开始
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
用 vim 要打开,输入命令:
……
使用Docker进行golang工程应用编译
一、准备
考虑如下的golang工程,包含一个Client和一个Server端,其中:
客户端是用于编写、发送和 接收消息。
服务器接收来自客户端的消息,翻译它们, 并将……
golang1.20 极简 开发Prometheus 报警接口
Prometheus
target
[root@vm11 prometheus]# cat prometheus.yml
global:
scrape_interval: 60s
evaluation_interval: 65s
scrape_timeout: 15s
……
为什么你应该学习Go语言?学习方向指明一下!
前段时间接触了一下go语言,发现挺有趣的,上头了,痴迷了,所以开始了我的Go语言之路,还是那句话:坚持你所坚持的,热爱你所热爱的。
一、前言
Go 语言作……
Go1.21 内置函数 clear、min、max 和新标准库包 cmp速览
Go 1.21 中的两个双新增项,分别是新的 3 个内置方法和新的标准库包。
新内置函数
本次新版本新增的内置函数分别是:clear、min、max,面向不同的场景,函数名……
go channel各状态下的操作结果深入解析
channel是golang中独有的特性,也是面试中经常被问到的。相信大家都看到过下面这张图,对于不同状态下通道,在操作时会有什么结果。这张图总结的非常好。但我……
Golang数据库连接池技术原理与实现
一、为什么需要连接池
如果不用连接池,而是每次请求都创建一个连接是比较昂贵的,因此需要完成3次tcp握手。同时在高并发场景下,由于没有连接池的最大连接数……
Golang 自适应微服务自理背后的滑动窗口算法如何实现
学习一下 go-zero 框架封装的滑动窗口算法是如何实现的,RollingWindow 是一种用于计算具有时间间隔事件的桶的数据结构。该滑动窗口使用循环缓冲区来存储桶,……
基于go语言的五大web框架,别再只知道springmvc
Spring MVC在Java web领域中首屈一指,而作为云原生时代的标准语言之一,Go语言自然也衍生出来不少优秀的web框架。今天给大家分享5个流行的基于Go语言的web框……
Go语言面试题:如何使用 Context 控制并发
context的面试题还是比较多,发现context控制并发这块的面试最近出现的频率非常高,所以单独抽出来说说。
一、前言
Go在 1.7 引入了context包,目的是为了在不……
Go语言开发中如何使用channel进行并发通信?
在开发过程中,我们常常需要使用到Golang的channel,而当我们在使用channel完成了任务后,需要及时关闭channel以避免出现阻塞,进而达到优化程序的效果。
那……
Golang本地缓存利器fastcache一文学透
一、介绍
fastcache是一个用go语言实现的,很快的,线程安全的,内存缓存的,用于大量对象缓存的组件。
它的特点是:
快速的多核CPU的性能可扩展。
线程安全……
Go语言时间相关操作标准库time包的使用
开发应用程序的过程中,经常需要记录某些操作的时间或者格式化时间戳,因此大部分编程语言都会有操作时间的库,Go语言当然也不例外。
Go语言对时间的操作能力……