跳到主要内容

33 篇文档带有标签「go」

查看所有标签

Context 使用指南与最佳实践

在 Go 的并发模型中,context.Context 是贯穿整个请求调用链路的"控制线"。本文整理了核心概念、架构分层策略以及代码实现标准。

For 循环多变量更新

在 Go 的 for 循环里,如果你想同时更新两个变量(比如同时让 i 加 1,j 也加 1),你不能像 C 语言或 Java 那样写 i++, j++,而必须写成 i, j = i+1, j+1。

Go 生态全景指南

这份文档旨在为团队内部的技术选型和新人培训提供参考,涵盖 Go 语言官方标准库和社区主流第三方库的完整概览。

Go 语言发布历史

Go语言(Golang)的发布历史可以追溯到2009年的开源,其版本迭代非常规律,自Go 1.0以来一直保持着严格的"每半年发布一个大版本"的节奏(通常在2月和8月)。

Go 语言排序算法面试指南

Go 语言语法简洁,切片 (Slice) 操作方便,非常适合在面试中手写算法。以下是面试中最常考的 5 种排序算法的 Go 语言标准实现。

init函数与包初始化

init 函数是 Go 中一个非常特殊的函数:你永远不需要(也不能)手动调用它,它是由 Go 运行时(Runtime)自动调用的。

iota常量生成器详解

你可以把 iota 想象成一个 "常量计数器" 或 "行索引"。它的主要作用是在 const 声明块中,帮助你自动生成一系列相关联的常量。

make函数详解

在 Go 语言中,make 是一个内置函数(Built-in function),它的作用非常专注且独特。

Map 排序与比较

Go map 面试必考点:map 排序和 map 比较。本文提供标准工程级实现模板。

nil切片与空切片

一句话总结:var 只是声明了一个"空壳",而 make 则是真正"分配了内存"并填充了这个壳。

range迭代

range 是 Go 的迭代关键字,用于遍历各种数据结构。它会根据数据类型返回不同的东西。

type关键字详解

在 Go 语言(Golang)中,type 关键字非常核心,它不仅用于定义数据的结构,还是 Go 语言实现面向对象编程(OOP)特性的基石。

基础类型

Go 语言之所以看起来基础类型(Basic Types)特别多,是因为它是一门强类型且对内存控制很精确的语言。

基础语法详解

Go 语言(Golang)以其简洁、高效和并发友好著称。它的语法设计摒弃了许多传统语言的繁琐特性(如分号结尾、复杂的类继承等)。

字符编码与rune

这是一个非常精准的问题!你触碰到了 字符编码(Encoding) 和 字符集(Character Set) 的核心区别。

带标签的 Break 与 Switch

本文通过一个典型的变长编码解码器代码片段,展示 Go 语言中处理复杂流控制的三个核心技巧:

引用类型 vs 值类型速查表

Go 中传递变量时,有些类型会复制底层数据(值类型),有些只复制"指针/引用"(引用语义类型)。搞清楚这一点,能避免很多坑。

拉取私有仓库配置指南

这是一个非常经典且必须解决的问题。默认情况下,Go 的工具链(go get)会尝试去 Go 官方的公共代理(proxy.golang.org)拉取代码,且不带任何身份认证。

核心库实战指南

Go 语言的学习核心就是"多写代码"。本文将 Go 语言最常用的核心库拆解,并为每一个部分提供可运行的、地道的(Idiomatic)代码示例。

格式化动词

在 Go 语言中,%c、%s、%d、%t 被称为格式化动词(Formatting Verbs)或占位符。它们主要用于 fmt 包中的打印函数(如 fmt.Printf、fmt.Sprintf、fmt.Errorf 等),用来规定数据输出的格式。

牛顿法求平方根

牛顿法(Newton's Method)是一种快速逼近函数零点的迭代算法。在求平方根时,它比暴力搜索快得多。

结构体标签

在 Go 语言中,Struct Tag 是一个非常有特色的功能。你可以把它想象成贴在每个字段背后的"便利贴"或"说明书"。