Golang/Go语言
文章平均质量分 71
Go语言相关
棉花糖灬
我就是我,是颜色不一样的烟火。
天空海阔,要做最坚强的泡沫。
我喜欢我,让蔷薇开出一种结果。
孤独的沙漠里,一样盛放的赤裸裸!
展开
-
【golang/go语言】Go语言代码实践——高复用、易扩展性代码训练
我们需要实现的是对字段的赋值方法,由于同一字段的赋值,分为了正常的任务处理和补偿的任务处理两个,所以我们可以定义两个接口方法Common和Fix。// ProcessJob 处理任务接口,定义了两个方法 type ProcessJob interface {Common(name string) func() // 正常的任务处理 Fix(name string) func() // 补偿的任务处理 }原创 2023-03-05 20:59:45 · 706 阅读 · 0 评论 -
【golang/go语言】Go语言之反射
在计算机科学中,反射是指计算机程序在运行时(run time)可以访问、检测和修改它本身状态和行为的一种能力。用比喻来说,反射就是程序在运行的时候能够观察并修改自己的行为。原创 2023-02-27 10:02:45 · 700 阅读 · 0 评论 -
【golang/go语言】go语言中包的使用、Init()函数、协程和接口
srC目录是以代码包的形式组织并保存Go源码文件的。包可以嵌套,比如utils目录下有名为utils的包,并嵌套一个timeUtils目录,该目录下有个timeUtils包。在同一个包下面的文件package名都建议设为是该目录名,但也可以不是。也就是说,在同一个包下面的所有文件的package名, 都是一样的。这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调用的。包名为main的包为应用程序的入口包,其他包不能使用。同包下的函数不需要导入包,可以直接使用。原创 2023-02-05 20:44:09 · 460 阅读 · 0 评论 -
【golang/go语言】Go语言中的面向对象OOP
【代码】【golang/go语言】Go语言中的面向对象OOP。原创 2023-02-05 20:33:33 · 250 阅读 · 0 评论 -
【golang/go语言】闭包(closure)
闭包(closure)一个外层函数中有内层函数,该内层函数中操作了外层函数的局部变量(外层函数的参数或直接定义的变量),并且该外层函数的返回值就是这个内层函数,则内层函数和外层函数的局部变量统称为闭包结构。该局部变量的生命周期会发生改变,正常局部变量的生命周期随着函数的调用而创建,随着调用的结束和销毁。但闭包中外层函数的局部变量并不会随着外层函数的调用结束而销毁,因为内层函数有可能会继续使用该局部变量。package mainimport ( "fmt")func main() {原创 2022-05-03 20:05:14 · 483 阅读 · 1 评论 -
【golang/go语言】sync同步包中Mutex、RWMutex、WaitGroup、Once、Cond、Pool和Map
1. WaitGroup等待组WaitGroup通过一个计数器counter来让主协程在还有子协程运行的时候进行等待wg.Add(num)函数可以让counter的值加上具体数值wg.Wait()函数可以让主协程进入阻塞状态wg. Done()函数可以让counter的值减一,相当于Add(-1)package mainimport ( "fmt" "sync")var wg sync.WaitGroupfunc main() { wg.Add(2) go func1()原创 2022-05-02 08:08:58 · 975 阅读 · 0 评论 -
【学习笔记】Golang语法学习笔记
一、入门go是编译型的语言,代码风格类似于C语言,其最大特点是支持并发编程,go文件后缀名为.go在命令行通过go run helloworld.go来运行,或先通过go build helloworld.go编译,然后./helloworld执行,在windows下编译生成的是.exe文件。go语言代码的第一行使用package声明包,名为main的包比较特殊,它定义的是一个独立的可执行程序,而不是库。在 main 里的 main 函数也很特殊,它是整个程序执行时的入口。使用import导入使用的包原创 2022-01-25 16:31:25 · 1122 阅读 · 0 评论 -
【学习笔记】Golang之Gorm学习笔记
一、模型定义1. 模型定义模型是标准的 struct,由 Go 的基本数据类型、实现了 Scanner 和 Valuer 接口的自定义类型及其指针或别名组成,如:type User struct { ID uint Name string Email *string Age uint8 Birthday *time.Time MemberNumber sql.NullString ActivedAt原创 2022-01-17 14:21:12 · 6284 阅读 · 0 评论