-
Go语言中的错误处理
Go语言中的错误Go语言通过内置的错误接口提供了非常简单的错误处理机制error类型是一个接口类型,它的定义:type error interface { Error() string } 一般情况下,我们使用函数在最后的返回值中返回错误信息使用errors.New(err_msg)函数可以返回一个错误信息func division (x , y int) (float64,error){ if y == 0 { return 0,errors.New("错误,除数不能为0") } return float64(x/y),nil } Go...
2021-09-06 -
Go语言中的依赖(包)管理
在以前,Go语言的的包依赖管理一直都被大家所诟病,Go官方也在一直在努力为开发者提供更方便易用的包管理方案,从最初的GOPATH到GO VENDOR,虽然走了不少的弯路,但最终还是拿出了Go Modules这样的解决方案GOPATH模式通过配置GOPATH环境变量来设置一个工作目录,该目录中包含所有的源码和编译生成的文件该目录下有三个主要目录,功能各不相同bin:存放编译后生成的二进制可执行文件 pkg:存放编译后生成的 .a 文件 src:存放项目的源代码,将自己的代码和下载的包全部放在该目录下进行管理 GOPATH模式的问题无法在项目中,使用指定版本的包 其他人运行你的程序时,无法保...
2021-09-05 -
Go语言中的包
包使用package定义,使用import导入,使用自动加载,且包名称必需小写因为一个目录即表示一个包,所以同一个目录下的包名称必需一致可以通过使用包的别名来解决包名之间的名称冲突包的导入常规导入:import "packzge1" import "packzge2" ... 或者 import ( "packzge1" "packzge2" ... ) 使用路径import "./package" //绝对路径,导入当前文件所在目录下的package目录中的文件 //Go Modules不支持绝对路径,在开启 GO111MODULE 后,无法使用 import ...
2021-09-05 -
Go语言环境变量设置
Go语言会在编译器内部设置一套环境变量来配置运行环境来保证正常运行我们也可以在环境变量中设置同名的变量来覆盖编译器内部的值go env [-json]:查看当前Go语言的的所有环境变量 如果系统环境变量中设置了相同变量,则会显示系统环境变量的值 go env -u key :将编译器内部的一个环境变量的值删除(设置为空),该环境变量会使用默认值 go env -w key1=val2 key2=val2 ... : 设置编译器内部的环境变量的值 如果系统环境变量中也设置了相同变量,该命令会报错 但是编译器内部的环境变量值已经更改 当删除系统环境变量时会...
2021-09-05 -
Go语言中的并发和通道
Go语言中的并发Go语言中通过go关键字来开启一个不同的、新创建的运行期goroutine实现并发goroutine是轻量级线程(可以理解为协程),调度是由Golang运行时进行管理的同一个程序中的所有 goroutine 共享同一个地址空间goroutine 语法格式:go func_name( args )一个Go程序启动后,main函数最先运行,称之为main goroutine,相当于主线程,当main函数执行完成后,主线程也就终结了,其下运行着的所有协程无论是否正在运行都会强制退出func demo(){fmt.Println("goroutine")} func main()...
2021-09-04