Go学习go语言Day3接口 学习接口interface的使用,进行抽象和多态实现。学会定义接口实现结构体。 在Go语言中,接口(interface)主要用于抽象和多态实现,使用方式如下: 定义接口 接口使用type和接口命名定义: type Reader interface { Read(p []byte) (n int, err error) } 实现接口 结构体实现接口方法即作者王明昌发布时间2023-08-16文章目录接口包管理写包第三方包管理接口学习接口interface的使用,进行抽象和多态实现。学会定义接口实现结构体。在Go语言中,接口(interface)主要用于抽象和多态实现,使用方式如下:定义接口 接口使用type和接口命名定义:复制type Reader interface { Read(p []byte) (n int, err error) } 实现接口 结构体实现接口方法即可实现接口:复制type File struct {} func (f File) Read(p []byte) (n int, err error) { // 实现Read方法 } 接口作为参数函数的参数使用接口作为类型:复制func ReadData(r Reader) error { // r可以是任何实现了Reader接口的对象 } 接口组合一个接口可以包含其他接口的方法集:复制type ReadWriter interface { Reader Writer } 这样就可以利用接口进行抽象定义,以及多态灵活实现,是Go语言编程非常重要的技巧。包管理写包好的,来看一个更详细的Go依赖管理示例:创建项目目录并初始化模块复制mkdir hello cd hello go mod init example/hello 编写main.go文件,导入fmt包复制package main import "fmt" func main(){ fmt.Println("hello world") } 运行 go mod tidy,会生成go.mod文件:复制module example/hello go 1.17 require ( fmt v0.0.0-00010101000000-000000000000 ) 使用go get -u命令升级依赖复制go get -u go.mod会更新为:复制require fmt v0.3.3 如果需要指定版本,可以使用go get pkg@version复制go get github.com/pkg/[email protected] 使用go mod graph查看依赖图go mod edit -replace可以替换本地依赖go list -m all可以查看总依赖以上演示了Go Modules的主要用法,可以充分利用来管理Go项目的依赖。第三方包管理在Go语言中使用第三方package的主要方式是通过go get命令获取依赖,常用的方法有:go getgo get可以下载依赖包,默认会找到该模块的latest release版本:复制go get github.com/spf13/cobra 指定版本go get可以使用@版本号来获取指定版本:复制go get github.com/spf13/[email protected] 更新依赖包使用-u参数可以更新到最新版本:复制go get -u github.com/spf13/cobra 查看依赖go list -m all 可以查看当前项目的依赖:复制go list -m all go mod命令go mod tidy可以整理依赖,go mod graph可以查看关系图。正确使用go get和go mod命令可以很好地管理Go模块的第三方依赖。要注意依赖版本的管理。
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-17学习go语言Day4测试 学习错误处理和测试框架,可以编写简单的单元测试。 Go语言中的错误处理和测试框架主要可以学习以下两方面: 错误处理 Go通过返回错误值来表示错误。 可以通过errors.New构造错误对象。 使
2023-08-13PHP和Go语言在语法上有什么不同PHP和Go语言在语法上有以下一些主要不同点: 变量声明 PHP是动态类型,变量由$标识,无需声明类型。Go是静态强类型,变量需要声明明确类型。 代码结构 PHP可以在代码任意位置直接执行代码。Go需
2023-08-13使用Claude给自己制定两周学习Go语言计划第一周: Day1:学习Go语言环境安装,编写Hello World程序,学习基本语法、变量声明。 Day2:学习Go语言基本数据类型、数组切片,流程控制、函数使用。编写简单算法程序。 Day3:学习