为什么我看到还有很多教程都是基于 gopath 的, 一上来就是配置 goroot ,gopath ,创建固定的目录 pkg ,src ,。。。
大家一般的 go 开发环境怎么搭建呢。项目中的依赖是怎么处理呢?

cy

github.com/moovweb/gvm

靠 GoLand 自己管理,本地不用手动装,直接 GoLand 里面下

你的教程是不是太老了?一般 goland ,没有 goland 也是装好 go 之后直接 mkdir 一个文件夹,然后这个文件夹就是你的项目路径了,go mod init 一下不就行了。。。

go mod

  1. 安装 golang (放入环境变量)
  1. 用 gomod, 抛弃所有 goroot, gopath, 已经没人用了(pkg, src)

    go path 怕不是好多年前的教程了。

    谢谢,可能是有些教程比较老吧,总是要扯什么 gopath 要配置,要按格式创建目录。

    有个 goenv ,和 Python 的 pyenv 类似,可以用这个切换不同的 go 版本

    按照我的理解,golang 的想法是开发者不要自己管理工具链的版本,随便装一个足够新的 go (>= 1.21 ),然后让 go 自己根据对应项目的 go.mod 下载使用对应版本的工具链。

    Goland 安装后啥都不用管,点点点。参与开源项目还能拿到免费的 License
    github.com/LinuxSuRen/api-testing

    建议可以的话:

  2. 装 gvm ,便于多版本 go 管理,对于一些特性测试或者多项目的情况比较好。尤其适合要在不同版本间测试同一个特性不同版本间表现时,比如 go 的 for-range 变更。 www.pixelstech.net/article/1732171804-fix-for-range-issue-again-in-go-1-22?lang=chinese
  3. 项目建在哪不是很重要,建议项目用 go mod 管理,这样的话依赖管理也比较好搞。

    唯一指定包管理模式:go mod
    (其实极少部分情况会用 go vendor)

    那都是 2015 年前后的事了。。。框架还是教 beego 是吧

    golang 自带 go mod

    go mod init

一般用最新版 go 就行,除非你依赖了一些奇奇怪怪的库

sudo pacman -S go 呗, 还要咋样

你在墙内就再加两句
go env -w GO111MODULE=on
go env -w GOPROXY= goproxy.cn,direct

github.com/version-fox/vfox

brew install go
mkdir myfxckproject && cd myfxckproject
go mod init ...

安装之后 go env -w 那么几条就行了
主要是 goproxy 还有 1.21 之后的 toolchain ,1.21 之后也不需要上边说的 gvm 之类的了

github.com/voidint/g

win 下我是这样。linux 随便一个目录。

只能说教程太老,没必要看了

不使用 GPU 的话直接用 docker 简单粗暴
windows 下的 docker 没法用内存来扩展显存

推荐mise , 可以管理很多开发工具的版本

直接下载 go 安装包,用 go mod init 开搞就行了,最多配一个 gopath

直接 go mod 管理就好了。 安装 go 环境,随便选择一个目录即可。 然后 vscode 安装 go 插件,就可以了。