Go学习go语言Day4测试 学习错误处理和测试框架,可以编写简单的单元测试。 Go语言中的错误处理和测试框架主要可以学习以下两方面: 错误处理 Go通过返回错误值来表示错误。 可以通过errors.New构造错误对象。 使用if err != nil来判断错误。 利用errors.Is、Wrap等处理错误栈。 panic/recover处理异常。 测试框架 testing包提供测作者王明昌发布时间2023-08-17文章目录测试并发测试学习错误处理和测试框架,可以编写简单的单元测试。 Go语言中的错误处理和测试框架主要可以学习以下两方面:错误处理Go通过返回错误值来表示错误。可以通过errors.New构造错误对象。使用if err != nil来判断错误。利用errors.Is、Wrap等处理错误栈。panic/recover处理异常。测试框架testing包提供测试功能。测试文件命名以_test.go结尾。测试函数名前缀为Test。使用testing.T运行测试用例。使用testing.B执行基准测试。使用assert系列方法进行断言。测试覆盖率使用testing/cover。 一个简单的单元测试样例:复制func TestAdd(t *testing.T) { total := Add(1, 2) if total != 3 { t.Errorf("Add(1, 2) failed") } } 学习利用错误处理和测试可以提高代码质量和可靠性。并发学习goroutine和channel的使用,编写简单的并发程序。 Go语言中goroutine和channel主要用于实现Go的并发编程,主要用法如下:goroutine使用go语句可以启动一个goroutine执行函数:复制go func() { // 并发执行的函数 }() channelchannel用于goroutine之间的通信和数据传递:复制ch := make(chan int) ch <- 10 // 发送数据 x := <- ch // 接收数据 示例复制func sum(s []int, ch chan int) { total := 0 for _, v := range s { total += v } ch <- total // 将sum发送到channel } func main() { s := []int{1,2,3} ch := make(chan int) go sum(s[:len(s)/2], ch) go sum(s[len(s)/2:], ch) x, y := <-ch, <-ch // 从channel接收 println(x + y) } 上面示例通过channel实现了两个goroutine之间的数据通信。熟练掌握goroutine和channel的使用,是Go并发编程的关键。这周不再更新,后面改变方案,学习gin
2020-02-08go环境搭建1. 在 ~ 下创建 go 文件夹,并进入 go 文件夹 mkdir ~/go && cd ~/go 2. 下载的 go 压缩包 wget https://dl.google.com/go/go1.1
2020-08-27go学习笔记1hello GO 这里使用vscode 安装插件go 新建hello文件夹,创建main.go文件 package main import "fmt" func main(){ fmt.Println
2023-08-15学习go语言第二天数组切片 数组 - 定长序列,声明时需要指定长度: var arr [5]int arr[0] = 1 arr[1] = 2 fmt.Println(arr) // [1 2 0 0 0] arr2
2023-08-16学习go语言Day3接口 学习接口interface的使用,进行抽象和多态实现。学会定义接口实现结构体。 在Go语言中,接口(interface)主要用于抽象和多态实现,使用方式如下: 定义接口 接口使用type和接口命
2023-08-13PHP和Go语言在语法上有什么不同PHP和Go语言在语法上有以下一些主要不同点: 变量声明 PHP是动态类型,变量由$标识,无需声明类型。Go是静态强类型,变量需要声明明确类型。 代码结构 PHP可以在代码任意位置直接执行代码。Go需
2023-08-13使用Claude给自己制定两周学习Go语言计划第一周: Day1:学习Go语言环境安装,编写Hello World程序,学习基本语法、变量声明。 Day2:学习Go语言基本数据类型、数组切片,流程控制、函数使用。编写简单算法程序。 Day3:学习