Golang
文章平均质量分 87
Go语言学习笔记
测试开发小记
欢迎关注微信公众号【测试开发小记】,分享测试开发相关技术笔记,包括Python、测试工具、自动化测试、数据库、Linux、持续集成等
展开
-
Go语言并发编程:上下文Context
context.Context类型是在 Go 1.7 版本引入到标准库的,上下文Context主要用来在goroutine之间传递截止日期、停止信号等上下文信息,并且它是并发安全的,可以控制多个goroutine,因此它可以很方便的用于并发控制和超时控制,标准库中的一些代码包也引入了Context参数,比如os/exec包、net包、database/sql包,等等。下面来介绍Context类型的使用方法。目录Context介绍Context类型Context 衍生WithCancelWithDeadli原创 2021-10-26 20:42:36 · 245 阅读 · 0 评论 -
Go语言并发编程:WaitGroup
我们知道,在并发编程中,主要线程需要等待子线程运行结束后才能退出,go语言中,主 goroutine 等待其他 goroutine 运行结束可以使用通道来解决,具体实现可以参考文章Go语言并发编程:互斥锁中的例子。使用通道可能不是很简洁,本文介绍另一种方法,也就是sync包中的WaitGroup类型来等待 goroutine执行完成。目录sync.WaitGroup类型主要包括3个方法:Add:用于需要等待的 goroutine 的数量Done:对计数器的值进行减一操作,一般在需要等待的gorou原创 2021-10-19 16:13:56 · 194 阅读 · 0 评论 -
Go语言并发编程:sync.Once
sync.Once用于保证某个动作只被执行一次,可用于单例模式中,比如初始化配置。我们知道init()函数也只会执行一次,不过它是在main()函数之前执行,如果想要在代码执行过程中只运行某个动作一次,可以使用sync.Once,下面来介绍一下它的使用方法。目录先来看下面的代码:package mainimport ( "fmt" "sync")func main() { var num = 6 var once sync.Once add_one := func() {原创 2021-10-14 16:44:10 · 231 阅读 · 0 评论 -
Go语言并发编程:互斥锁
互斥锁Mutex和读写锁RWMutex的使用方法原创 2021-10-06 15:26:56 · 340 阅读 · 0 评论 -
Go语言基础语法(三):结构体及方法
go语言中的结构体和方法,以及“继承”的实现方法。原创 2021-09-29 07:04:21 · 555 阅读 · 0 评论 -
Go语言并发编程:原子操作
在程序执行过程中,操作系统会进行线程调度,同一时刻能同时执行的程序数量跟CPU的内核线程数有关,比如4核CPU,同时最多只能有4个线程。Go 语言中的运行时系统也会对goroutine进行调度,调度器会频繁地让goroutine处于中断或者运行状态,这就不能保证代码执行的原子性(atomicity),即使使用互斥锁也不能保证原子性操作。Go语言中的atomic包提供了原子操作方法,下面来介绍它的使用方法。目录atomic原子操作类型和方法Add 增加Load 加载Store 存储Swap 交换Compar原创 2021-09-22 14:22:04 · 586 阅读 · 0 评论 -
Go语言中的通道
通道(channel)是Go 语言中一种特殊的数据类型,通道本身就是并发安全的,可以通过它在多个 goroutine 之间传递数据。通道是Go 语言编程理念:“*Do not communicate by sharing memory; instead, share memory by communicating*”(不要通过共享数据来通信,而应该通过通信来共享数据。)的完美实现,在并发编程中经常会遇到它。下面来介绍一下通道的使用方法。原创 2021-09-14 13:36:59 · 1143 阅读 · 2 评论 -
Go语言中的字符串拼接方法介绍
golang语言6种字符串拼接方法原创 2021-09-07 16:24:58 · 387 阅读 · 0 评论 -
Go语言基础语法(二):函数
函数是一等(first-class)公民,可用来封装代码。在Go语言基础语法(一)中介绍了函数也是一种数据类型,函数的值也可以在其他函数间传递、赋予变量、做类型判断和转换等。下面来介绍Go语言中的函数定义和使用方法。目录普通函数声明与使用函数类型高阶函数闭包函数参数传递普通函数声明与使用下面先来介绍函数的简单使用方法。函数定义语法:func function_name( parameter-list ) ( return-types ) { // 函数体}Go函数使用 func 关键字原创 2021-08-27 21:57:23 · 298 阅读 · 0 评论 -
Go语言基础语法(一)
本文介绍一些Go语言的基础语法。目录go简单小例子格式化输出fmtlog数据类型常量声明变量声明运算符条件语句if语句switch 语句循环语句for循环:使用分号实现while效果死循环for range 遍历退出循环goto语句go简单小例子先来看一个简单的go语言代码:package mainimport "fmt"// 加法运算func add(x, y int) int { return x + y}func init() { fmt.Println("main in原创 2021-08-17 21:15:35 · 261 阅读 · 0 评论 -
Go语言开发环境安装
Golang环境安装原创 2021-08-14 11:10:44 · 451 阅读 · 0 评论