Go语言:并发编程与后端服务开发

Go语言:并发编程与后端服务开发

用Go编写接口、处理并发任务,既要熟悉语法,也要理解协程之间如何协作。这里结合后端开发实例,讲解通道通信、错误处理与测试,让服务从运行到维护都有章可循。

阅读305
1086篇内容
发布时间2026-09-24
相关标签:

Go语言标准库JSON编码与解析核心用法

本文详解Go语言中encoding/json包的核心功能。通过Marshal和Unmarshal函数,演示如何将Map、结构体(含字段标签与匿名字段)、切片与JSON字符串互转。重点讲解导出规则、json标签语法及类型匹配机制,提供完整代码示例便于快速掌握数据序列化技巧。

Go语言标准库JSON编码与解析核心用法

Go语言中make与new的区别及实现原理解析

在Go语言中,new和make都是用于初始化的关键字,但作用对象完全不同。new接收类型参数并返回指向该类型的指针,适用于所有类型;而make仅限于slice、map和chan的初始化,并会进行内部结构填充。本文将从使用场景、返回类型差异及编译器底层转换等方面深入解析两者的区别。

Go语言中make与new的区别及实现原理解析

Golang解析JSON的两个常见坑:空指针与数值类型转换

本文总结Golang中json序列化与反序列化的两个典型陷阱。一是空指针Marshal输出为"null"字符串而非空串,Unmarshal时"null"合法而乱码报错;二是数字被默认转为float64,可能导致大整数精度丢失或科学计数法问题。文章通过代码示例解释了底层处理逻辑并提供规避思路。

Golang解析JSON的两个常见坑:空指针与数值类型转换

解决Golang编译时dial tcp连接超时或失败的问题

在Windows环境下编译Go项目时,常因无法访问golang.org域名而报错dial tcp connectex。通过设置国内代理如goproxy.cn可解决下载依赖问题;若遇特定模块i/o timeout,可尝试阿里云或七牛云等备用代理地址进行切换。

解决Golang编译时dial tcp连接超时或失败的问题

Go语言类型转换库 cast 使用指南

本文介绍Go语言第三方库 github.com/spf13/cast 的使用,解决 interface{} 到具体类型的繁琐转换。文章提供安装方法、安全转换(不 panic)、带错误检查的转换及 JSON 解析示例,并分析其基于反射的性能表现及使用场景建议。

Go语言类型转换库 cast 使用指南

Golang 实现 HTTP 请求响应 JSON 转结构体

本文介绍在 Golang 中发起 HTTP POST 请求获取 Zabbix API 数据,并将返回的 JSON 响应转换为 Go 结构体以方便取值。重点演示如何定义对应 JSON 字段的结构体、使用 encoding/json 进行 Unmarshal 解析,以及处理数组类型字段的注意事项,附带完整可运行代码与结果展示。

Golang 实现 HTTP 请求响应 JSON 转结构体

Golang WaitGroup 核心机制与源码解析

本文深入解析 Go 语言 sync.WaitGroup 的内部实现机制。文章拆解了 state1 字段中 counter(未完成协程数)与 waiter(等待者数量)的位运算存储方式,阐述了在 32 位架构下通过巧妙调整内存布局以保证 64 位原子操作的正确性。同时,结合 Add、Done、Wait 三个方法的源码,揭示了其如何利用 CAS 操作和 runtime_Semacquire/Semrelease 信号量机制实现无锁高效并发同步。

Golang WaitGroup 核心机制与源码解析

Go语言Web框架中间件机制深度解析

深入解析Go语言三大主流Web框架(Gin、Iris、Echo)中中间件的运行机制。通过对比底层源码,揭示切片遍历与函数包装两种核心模式的差异,帮助开发者理解ctx.Next()的作用及请求链的执行顺序,从而更优雅地实现日志、鉴权等通用逻辑。

Go语言Web框架中间件机制深度解析
加载更多

专题列表