前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go的一些小概念

go的一些小概念

作者头像
doper
发布2022-08-23 19:51:38
5210
发布2022-08-23 19:51:38
举报
文章被收录于专栏:后台技术杂项笔记

go的一些小概念

学习过程中整理的小知识

1. GOROOT目录

golang的安装路径

2. GOPATH目录

(1) 存放SDK以外的第三方库

(2) 自己收藏的可复用代码

$GOPATH一般要有三个子目录

  • src : 用来存放源码(.go .c .h .s等),按照golang的默认约定,go run, go install等命令的当前路径(即在此路径下执行上述命令)
  • pkg : 编译时生成的缓存文件(.a),项目的第三方源码也可能在这个位置,具体看是否开启GOMODULE模块支持
  • bin : 编译后生成的可执行文件(.exe)

注意

对于环境变量GO111MODULE

  • GO111MODULE=off,无模块支持,go会从GOPATH和vendor文件夹寻找包,此时go get的包会下载到pkg目录
  • GO111MODULE=on, 模块支持,go会忽略GOPATH和vendor文件夹,只根据go.mod下载依赖
  • GO111MODULE=auto(默认),在$GOPATH/src外面且根目录有go.mod时,开启模块支持(go1.13+)

3. goland中的GOPATH

goland中分为Global GOPATHProject GOPATH

Global GOPATH是所有项目都可以用的

Project GOPATH是只有这个项目可以用的

4. go get和go mod download

go get 命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装。

go mod download可以将全部依赖(go.mod文件中)下载到GOPATH下,具体是下载到src还是pgk目录就看是否开启了GO111MODULE参数

5. go module的使用

​ 4.1. go module介绍

​ go module是go官方自带的go依赖管理库,在1.13版本正式推荐使用

​ go module可以将某个项目(文件夹)下的所有依赖整理成一个 go.mod 文件,里面写入了依赖的版本等

​ 使用go module之后我们可不用将代码放置在src下了

​ 4.2. go module的常用命令

代码语言:javascript
复制
go mod init  # 初始化go.mod
go mod tidy  # 更新依赖文件
go mod download  # 下载依赖文件
go mod vendor  # 将依赖转移至本地的vendor文件
go mod edit  # 手动修改依赖文件
go mod graph  # 打印依赖图
go mod verify  # 校验依赖

​ 4.3. goland中的mod

​ goland中新建项目时默认不打开go module,所以要去settings打开

6. go-lint

go-lint用来检查go代码编码是否规范

6.1. golangci-lint的使用

github : https://github.com/wangjunemse/golangci-lint

代码语言:javascript
复制
F:\GoProjects\test1\src>golangci-lint run ./...

goland中的设置

(1) 安装go-linter插件

(2) 安装go lint工具

代码语言:javascript
复制
go get -u golang.org/x/lint/golint

(3) 按照官方文档指引配置

(4) 编写自己的标准并导入

在goland中可以在setteings进行设置导入

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • go的一些小概念
    • 1. GOROOT目录
      • 2. GOPATH目录
        • 3. goland中的GOPATH
          • 4. go get和go mod download
            • 5. go module的使用
              • 6. go-lint
                • 6.1. golangci-lint的使用
            相关产品与服务
            代码托管
            CODING 代码托管(CODING Code Repositories,CODING-CR)是为开发者打造的云端便捷代码管理工具,旨在为更多的开发者带去便捷、高效的开发体验,全面支持 Git/SVN 代码托管,包括代码评审、分支管理、超大仓库等功能。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档