
Go
文章平均质量分 91
Go 语言使用
alenliu0621
随风飘飘天地任逍遥~~~
展开
-
Go 语言规范学习(7)
内置函数、包、程序初始化和执行、错误、运行时panic、系统考量原创 2025-03-31 01:47:01 · 519 阅读 · 0 评论 -
Go 语言规范学习(6)
语句原创 2025-03-30 18:01:39 · 990 阅读 · 0 评论 -
Go 语言规范学习(5)
运算符 类型转换 常量表达式 求值顺序原创 2025-03-30 00:40:37 · 766 阅读 · 0 评论 -
Go 语言规范学习(4)
表达式原创 2025-03-28 01:36:01 · 1068 阅读 · 0 评论 -
Go 语言规范学习(3)
类型和值的属性 声明和范围原创 2025-03-27 17:20:17 · 741 阅读 · 0 评论 -
Go 语言规范学习(2)
变量 类型原创 2025-03-27 01:25:15 · 775 阅读 · 0 评论 -
Go 语言规范学习(1)
词法元素 常量原创 2025-03-26 01:36:07 · 884 阅读 · 0 评论 -
Go 语言使用 fmt 标准库格式化输出
今晚肝了三个多小时整理了下 Go 语言的格式化输出,方便后续快速查询。原创 2021-10-26 02:43:36 · 1130 阅读 · 0 评论 -
Go 语言 JSON 标准库的使用
介绍 Go 中 json 标准库的使用。原创 2021-10-22 02:38:27 · 1179 阅读 · 0 评论 -
【速查版】Go 标准库:container/heap(堆)
https://pkg.go.dev/container/heap 官方标准库文档整理,讲解示例代码说明如何使用。原创 2021-08-27 00:04:47 · 365 阅读 · 0 评论 -
【速查版】Go 标准库:container/list(双向链表)
https://pkg.go.dev/container/list 官方标准库文档整理,讲解示例代码说明如何使用。原创 2021-08-26 00:48:39 · 409 阅读 · 0 评论 -
【速查版】Go 标准库:sort(排序)
https://golang.org/pkg/sort/ 官方标准库文档不好阅读,遂整理了下,方便自己快速查阅。原创 2021-08-23 23:39:23 · 487 阅读 · 0 评论 -
【速查版】Go 标准库:bytes
https://golang.org/pkg/bytes/ 官方标准库文档不好阅读,遂整理了下,方便自己快速查阅。原创 2021-06-03 18:27:15 · 328 阅读 · 0 评论 -
【速查版】Go 标准库:bufio
https://golang.org/pkg/bufio/ 官方标准库文档不好阅读,遂整理了下,方便自己快速查阅。原创 2021-05-27 15:58:44 · 326 阅读 · 0 评论 -
【速查版】Go 标准库:io
https://golang.org/pkg/io/官方标准库文档不好阅读,遂整理了下,方便自己快速查阅。原创 2021-04-30 02:06:17 · 396 阅读 · 1 评论 -
《The Go Programming Language》笔记:9 Concurrency with Shared Variables !
说明:自用,记录 Go 语言重点内容,方便自己查阅。文章目录9.1. Race Conditions9.2. Mutual Exclusion: sync.Mutex9.3. Read/Write Mutexes: sync.RWMutex9.4. Memory Synchronization9.5. Lazy Initialization: sync.Once9.1. Race ConditionsA data race occurs whenever two goroutines access t原创 2021-04-16 01:24:03 · 339 阅读 · 1 评论 -
《The Go Programming Language》笔记:7 Interfaces
说明:自用,记录 Go 语言重点内容,方便自己查阅。文章目录7.1. Interfaces as Contracts7.2. Interface Types7.3. Interface Satisfaction7.5. Interface Values7.10. Type Assertions7.13. Type SwitchesInterface types express generalizations or abstractions about the behaviors of other typ原创 2021-04-14 01:25:12 · 347 阅读 · 0 评论 -
《The Go Programming Language》笔记:6 Methods
说明:自用,记录 Go 语言重点内容,方便自己查阅。文章目录6.1. Method Declarations6.2. Methods with a Pointer Receiver6.2.1. Nil Is a Valid Receiver Value6.3. Composing Types by Struct Embedding6.4. Method Values and Expressions6.6. EncapsulationAlthough there is no universally acc原创 2021-04-13 23:23:21 · 308 阅读 · 0 评论 -
《The Go Programming Language》笔记:5 Functions
说明:自用,记录 Go 语言重点内容,方便自己查阅。文章目录5.1. Function Declarations5.2. Recursion5.3. Multiple Return Values5.4. Errors5.5. Function Values5.6. Anonymous Functions5.6.1. Caveat: Capturing Iteration Variables5.7. Variadic Functions5.8. Deferred Function Calls5.9. Pan原创 2021-04-13 15:01:13 · 350 阅读 · 0 评论 -
《The Go Programming Language》笔记:4 Composite Types
说明:自用,记录 Go 语言重点内容,方便自己查阅。文章目录4.1. Arrays4.2. Slices4.2.1. The append Function4.3. Maps4.4. Structs4.4.1. Struct Literals4.4.2. Comparing Structs4.4.3. Struct Embedding and Anonymous FieldsArrays and structs are aggregate types; their values are concaten原创 2021-04-13 00:12:32 · 505 阅读 · 0 评论 -
《The Go Programming Language》笔记:2 Program Structure
说明:自用,记录 Go 语言重点内容,方便自己查阅【翻译太耗费时间了】。文章目录2.1 Names2.2 Declarations2.3 Variables2.3.1 Short Variable Declarations2.3.2 Pointers2.3.3 The new Function2.3.4 Lifetime of Variables2.4 Assignments2.4.1 Tuple Assignment2.4.2 Assignability2.5 Type Declarations2.6原创 2021-04-12 01:52:37 · 457 阅读 · 0 评论 -
Go 语言重要知识点:字符串、UTF-8 编码、rune
文章目录 字符串 字符串字面值 Unicode UTF-8参考《The Go Programming Language》。原创 2020-12-20 23:20:38 · 3058 阅读 · 0 评论 -
Go 管道模式的实际例子——计算大量文件的 md5 值
原文链接Digesting a treeLinux 上的 md5sum 命令,可以计算一些文件的 md5 值:root@ubuntu:~/gogo/tour# md5sum *.god2b2c3719370ea0aa7261325926111fd bounded.go157126313040135745466593b6f65508 interface1.go62f7464386fceaade2c83184f05e09b7 parallel.goeea9d6c2ed85f03e09968原创 2020-12-13 17:31:10 · 673 阅读 · 0 评论 -
Go 并发模式:管道和取消
原文链接文章目录介绍什么是一个管道?求一系列数的平方扇出和扇入(Fan-out,fan-in)停下来一会儿显示地取消介绍【标题中的管道英文是 Pipeline,在这篇文章中指的是一种并发处理模式,而不是 Go 中的管道。为了避免歧义, Pipeline 我翻译成管道,而 Go 中的管道用它的原文 channel。】Go 中的并发原语【这篇文章中主要指 goroutine 和 channel 】使我们很容易地构建流数据管道,以便能够有效地使用 I/O 和多核 CPU。这篇文章给出了一些这些管道的例子,原创 2020-12-10 17:07:18 · 644 阅读 · 1 评论 -
Go 内存模型
原文链接文章目录介绍Happens Before(在...之前发生)同步初始化Goroutine 创建Goroutine 销毁管道通信锁Once不正确的同步介绍Go 内存模型规定了一些条件,在这些条件下,在一个 goroutine 中读取变量返回的值能够确保是另一个 goroutine 中对该变量写入的值。【翻译这篇文章花费了我 3 个半小时 】Happens Before(在…之前发生)在一个 goroutine 中,读操作和写操作必须表现地就好像它们是按照程序中指定的顺序执行的。这是因为,在一原创 2020-12-06 17:32:44 · 1506 阅读 · 6 评论 -
Go 语言学习:Go 语言之旅——练习题及参考答案
官方的 Go 语言之旅 包含了一些习题,初学者应该要能够完成这些练习来巩固学习。今晚我花了几个小时做了这些习题,以给初学者作参考。这些题目我就懒得翻译的,这里给出了每个题目的中英文链接【中文是机器翻译的,尽量看原文】。题目1. 循环与函数英文题目链接中文题目链接2. 切片英文题目链接中文题目链接3. 字典英文题目链接中文题目链接4. 斐波那契闭包英文题目链接中文题目链接5. Stringers英文题目链接中文题目链接6. 错误英文题目链接中文题目链接7. Reader原创 2020-11-28 23:21:25 · 3790 阅读 · 3 评论 -
Go 语言学习:Go 语言之旅(五)
文章目录GoroutinesChannels(管道)Buffered Channels(带有缓冲的管道)Range and CloseSelectDefault Selectionsync.MutexGoroutines一个 goroutine 是 Go 运行时管理的一个轻量级线程。go f(x, y, z)启动一个新的 goroutine 运行f(x, y, z)f,x,y 和 z 的求值发生在当前的 goroutine 中,函数 f 的执行发生一个新的 goroutine 中。所有的原创 2020-11-22 17:13:39 · 336 阅读 · 0 评论 -
Go 语言学习:Go 语言之旅(四)
文章目录Methods(方法)Methods are functions(方法是函数)Methods continued(继续讲方法)Pointer receivers(指针接收者)Pointers and functions(指针与函数)Methods and pointer indirection(方法和指针间接引用)Methods and pointer indirection (2)Choosing a value or pointer receiver(选择一个值或指针接收者)Interfaces原创 2020-11-21 21:40:13 · 459 阅读 · 3 评论 -
Go 语言学习:Go 语言之旅(三)
文章目录Pointers(指针)Structs(结构体)Struct Fields(结构体中的域)Pointers to structs(指向结构体的指针)Struct Literals(结构体字面值)Arrays(数组)Slices(切片)Slices are like references to arrays(切片就像是数组的引用)Slice literals(切片字面值)Slice defaults(切片索引的默认值)Slice length and capacity(切片长度和容量)Nil slic原创 2020-11-20 18:30:11 · 446 阅读 · 0 评论 -
Go 语言学习:Go 语言之旅(二)
文章目录for(for 循环)For continued(继续 for 循环)For is Go's "while"(for 是 Go 中的 "while" )Forever(无限循环)If(If 语句)if with a short statementIf and elseSwitch(switch 语句)Switch evaluation order(switch 求值顺序)Switch with no condition(没有条件的 switch)Defer(推迟函数执行)Stacking defe原创 2020-11-20 11:24:06 · 386 阅读 · 0 评论 -
Go 语言学习:Go 语言之旅(一)
原文 A Tour of Go。示例代码可在 Go Playground 网站运行。文章目录Packages(包)Imports(导入)Exported names(导出的名字)Functions(函数)Multiple results(多个返回结果)Named return values(命名的返回值)Variables(变量)Variables with initializers(带有初始化的变量)Short variable declarations(简短的变量声明)Basic types(基本类型原创 2020-11-19 16:17:45 · 638 阅读 · 0 评论 -
Go 语言学习:创建一个 Go 模块
原文 Tutorial: Create a Go module文章目录写一个其他人可以使用的模块从另一个模块中使用你的代码添加测试用例编译并安装应用程序写一个其他人可以使用的模块一个或多个相关的包被组织成一个模块。这些包都包含一些功能类似的函数。例如,你可以创建一个模块,它包含了一些包,这些包实现了各种财务分析的函数,那么编写财务应用程序的人就可以使用这个模块。Go 代码被组织成包,包被组织成模块。你使用的包的模块指定了 Go 运行代码所需要的上下文,它包括编写代码的Go版本及其所需的其他模块集合原创 2020-11-15 22:02:55 · 4997 阅读 · 0 评论 -
Go 语言学习:开始使用 Go
原文 Tutorial: Get started with Go文章目录写一些 Go 代码使用一个外部包的代码写一些 Go 代码在 home 目录【我的 home 目录就是 /root 】新建一个文件夹 “gogo”,用于存放 Go 代码。为什么新建的文件夹名不为 “go” 呢?查看 go envGOPATH="/root/go"我们发现 GOPATH 变量的路径就是 “/root/go” 目录,这个目录是有特殊用途的,所以我们自己新建的文件夹名字不为"go"就好,那就用"gogo"吧。???原创 2020-11-15 17:31:10 · 418 阅读 · 0 评论 -
Go 语言学习:搭建 Go 开发环境
文章目录环境Ubuntu 安装 GoVisual Studio Code 远程开发 Go环境本人有20年的使用 Windows 系统的经验【我最早使用的系统是 Win98 ????】,我家里的台式机是 Windows 系统,公司的笔记本是 Mac 系统,到现在我还没有完全习惯使用 Mac。所以在家里学习 Go ,我的开发环境如下:Win10。虚拟机里的 Ubuntu。虚拟机软件使用 Vmware。 Ubuntu 版本是 16.04,64 位服务器版本。Visual Studio Code 。原创 2020-11-15 16:14:56 · 293 阅读 · 0 评论