Golang模块使用入门

go模块指令

  • go mod init创建一个新模块,初始化go.mod描述它的文件。
  • go build、go test和其他包构建​​命令go.mod根据需要添加新的依赖项。
  • go list -m all 打印当前模块的依赖项。
  • go get 更改依赖项的所需版本(或添加新的依赖项)。
  • go mod tidy 删除未使用的依赖项。
  • go list -m -versions 模块名(查看某模块的所有版本)。
    注意:golang允许使用同一个模块的不同大版本,比如v1和v2等,这样方便进行代码逐步迁移(这功能不错)。导入的时候需要自己重命名模块,比如这样:
package hello

import (
    "rsc.io/quote"
    quoteV3 "rsc.io/quote/v3"
)

func Hello() string {
    return quote.Hello()
}

func Proverb() string {
    return quoteV3.Concurrency()
}

go模块使用教程的传送门

创建一个自己的包的注意事项

1.包名
包名用小驼峰,里面的package名字和包名保持一致。
2.go.mod
go mod 里面module的名称一定要记得改为github.com/Chise1/包名。因为如果要上传到github上,这里不加这个名字就会报错:

go get: github.com/Chise1/hello@none updating to
        github.com/Chise1/hello@v1.0.0: parsing go.mod:
        module declares its path as: Chise1/Hello
                but was required as: github.com/Chise1/hello

发布一个包

  1. git tag v1.0.0
  2. git push origin v1.0.0
    建议每个版本一个分支,通过cherry pick的方式合并。
    说实话我不喜欢这种版本管理,感觉好随意。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习 Go(也称为 Golang)语言从入门到精通可以分为以下几个步骤: 1. **安装和环境设置**: - 官方下载 Go 的安装包并配置好 GOPATH(Go 工作路径),用于存放源码、依赖等。 2. **基础语法**: - 学习基本的数据类型(如 int, float, string 等)、变量声明、常量定义。 - 掌握流程控制结构(if-else, for, while, switch)和函数的定义与调用。 3. **模块管理**: - 使用 `go mod` 命令来管理和导入外部库(模块),了解如何编写和使用 `import` 和 `package` 关键字。 4. **并发编程**: - Go 强调并发,理解 Goroutines(轻量级线程)和 Channels(管道通信机制)的概念。 - 学习互斥锁(sync.Mutex)和通道选择器(select)等同步原语。 5. **标准库的探索**: - 熟悉标准库提供的常用功能,如 fmt (格式化)、io (输入/输出)、net (网络)、os (操作系统接口) 等。 6. **HTTP服务器与客户端**: - 学会使用 net/http 包创建简单的 HTTP 服务端和客户端。 7. **Web框架**: - 如果对 Web 开发感兴趣,可以尝试 Gin 或 Beego 这样的轻量级框架。 8. **错误处理与日志记录**: - 学习如何优雅地处理和捕获运行时错误,以及使用 logrus 或 zap 进行日志记录。 9. **项目实战**: - 通过实际项目练习,比如搭建简单的 RESTful API、数据处理工具或游戏后端。 10. **进阶主题**: - 对于高级开发者,可研究 goroutine 性能优化、内存管理(垃圾回收机制)、反射、接口和组合等概念。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值