gland 管理 go 依赖包

1. goland中两个关键的配置

  • GOROOT
    配置 go sdk 的安装目录,eg:D:\ProgramData\go\go1.18.3, 不用指定到bin目录
  • GOPATH
    可以理解为依赖包的目录, 通过Go命令安装的依赖包放在这个目录底下,eg: D:\ProgramData\go\golib
go get github.com/aws/aws-sdk-go-v2
go get github.com/aws/aws-sdk-go-v2/config
go get github.com/aws/aws-sdk-go-v2/service/dynamodb

通过go get 或者 go install 安装的依赖包都会放到 GOPATH 目录, eg:
在这里插入图片描述

2. 解决import时关联不到安装的依赖包

  • go包管理介绍:
    Go 的代码复用很大程度依赖于包基础上,而包管理很大程度依赖于 GOPATH。Go 的包管理一直饱受诟病,不过自 1.11 版本发布 Go Modules 以来已经出现很大程度的改善。本文我们将初步了解 Go 的包管理。
  • 创建一个依赖于 http://golang.org/x/example 模块 hello工程,工程目录如下:
├── hello
│   └── hello.go
// hello.go
package main

import (
	"fmt"
	"golang.org/x/example/stringutil"
)

func main() {
	fmt.Println(stringutil.Reverse("Hello, yuzhou1su"))

}

使用go get 安装依赖包:

go get golang.org/x/example

这样的工程目录结构,即使通过go命令安装依赖包,也关联不到。

  • 原因是 Go Modules 并没有管理安装的包, 要使安装的包被 Go Modules管理,工程目录需有一个 go.mod 文件,go.mod的内容如下:
module example.com/hello
go 1.18
require golang.org/x/example v0.0.0-20220412213650-2e68773dfca0 // indirect
  • go.mod 指定了 module 名; go 版本(我用的 1.18.3 版本);以及依赖包。

2.1解决办法:

  • 创建 go.mod, 可以通过goland的Terminal终端:
cd hello
go mod init example.com/hello
  • 最终的工程目录:
    在这里插入图片描述
  • 运行这个hello程序:
    • 1.直接在Goland中运行
    • 2.或者在 Goland 的Terminal 终端运行命令:
go run example.com/hello
  • 得到一个反转的字符串结果:
    us1uohzuy ,olleH

Reference:
1.Go 1.18 新特性:多模块工作区模式
2.基于Gin+Gorm框架搭建MVC模式的Go语言企业级后端系统

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值