专栏首页云原生生态圈Goland中使用Golang命令行工具

Goland中使用Golang命令行工具

gofmt

使用gofmt,您可以在打开的文件或整个Go项目中格式化Go源代码.另外,您可以使用文件监视程序来触发gofmtgoimportFile watcher是一个内置的GoLand工具,可让您在更改或保存文件时自动运行命令行工具。GoLand自动保存您在文件中所做的更改。

  1. 格式化go文件, 转到 Tools | Go Tools | Go fmt file.
  2. 格式化go项目, 转到 Tools | Go Tools | Go fmt project.
  3. 在提交到git仓库之前, 选中 Go fmt 选项框. 更多信息参考 ?Commit and push changes to Git repository.

For more information about gofmt, see Command gofmt[1].

goimports

使用goimports,您可以自动更新Go导入行(添加缺少的内容并删除未引用的导入内容)。

  1. 如果你没有goimports包,那么你可以打开命令行终端使用该命令下载: go get golang.org/x/tools/cmd/goimports. 回车 ⏎.
  2. 增加丢失的导入包语句,转到 Tools | Go Tools 并点击 Goimports file.

goimports工具还以与相同的样式设置代码格式gofmt。有关更多信息goimports,请参见?Command goimports。

go generate

go generate使用//go:generate指令来定义和调用的代码生成。有关更多信息go generate,请参阅?blog.golang.org上的生成代码。

  1. 在go语言中编写此链接,并点解该链接: //go:generate command arguments (例如: //go:generate stringer -type=Pill)
  2. 点击 Tools | Go Tools | Go generate file. 或者,点击左侧的绿色 Run 图标 ( 选择Go generate file .

有关的更多信息go generate,请参见 ?Generate Go files by processing source和 Generating code[2]

go vet

go vet命令检查Go源代码并报告可疑结构。

使用 go vet找到可能出现的bug和一些可疑的结构体, 点击 Tools | Go Tools | Go vet file. 你可在terminal窗口查看到代码分析的结果

Example of go vet

有关更多信息go vet,请参阅Command vet[3]

go vet在命令行中也是比较常用的,下面了解一下go vet在终端命令行下如何使用, 可以使用该vet工具,对一个或者多个go文件进行语法检查 go vet cmd/http_server/*.go go vet cmd/http_server/main.go 附加tags 我们还可以给vet 传递一些 tag 来指定检测行为,默认是all,全部检查,当传入以下tag的时候all将被设置为false 使用方法 go vet -atomic=false test.go

本文分享自微信公众号 - 云原生生态圈(CloudNativeEcoSystem),作者:Marionxue

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Kubernetes五个实用的自动化运维脚本 -香~

    以CSV格式获取每个容器的所有容器资源请求和限制,并对其值进行标准化。CSV格式非常易于自动化,非常适合粘贴到Excel进行进一步处理。

    公众号: 云原生生态圈
  • Gitlab CICD 与Kubernetes实践·部署GitLab

    上一篇,简单的从?Gitlab CI/CD方法论中探索实践中大致了解Gitlab在CI/CD功能的基本介绍,现在我们通过在K8s集群内安装Gitlab、Gitl...

    公众号: 云原生生态圈
  • 神奇!如何快速成为一名优秀的YAML工程师?

    目前k8s的使用范围越来越广,而接触和使用k8s就必须会编写YAML文件。k8s所有的配置文件以及资源的定义配置文件都是基于YAML格式的,所以熟悉并掌握YAM...

    公众号: 云原生生态圈
  • Go语言之旅:环境搭建

    我是一名做了近十年的dotnet程序员,当然其中还使用过PHP、Javascript(NODEJS)去做过后端开发,从donnet Framework到现在的d...

    杨子翔 josonyang
  • 初探 Go 的编译命令执行过程

    Go 语言这两年在语言排行榜上的上升势头非常猛,Go 语言虽然是静态编译型语言,但是它却拥有脚本化的语法,支持多种编程范式(函数式和面向对象)。Go 语言最最吸...

    一缕殇流化隐半边冰霜
  • 【文末有惊喜】初探Go的编译命令执行过程

    引言 ? Go 语言这两年在语言排行榜上的上升势头非常猛,Go 语言虽然是静态编译型语言,但是它却拥有脚本化的语法,支持多种编程范式(函数式和面向对象)。Go ...

    李海彬
  • Golang 命令

    go buildgo build 命令用于编译我们指定的源码文件或代码包以及它们的依赖包。go build [-o output] [-i] [build fl...

    李海彬
  • GO 依赖管理工具go Modules(官方推荐)

    以前写过一篇关于go管理依赖包工具 dep的文章,当时认为dep将会成为官方依赖工具,现在看来是自己图样图斯内幕破了,正如官方一直提到dep是“official...

    孤烟
  • Docker学习——多阶段构建(六) 顶

    wuweixiang
  • golang基础(一)go的特点、数据类型以及变量的定义

    静态类型语言:与动态类型语言刚好相反,它的数据类型检查发生在在编译阶段,也就是说在写程序时要声明变量的数据类型。C/C++、C#、Java都是静态类型语言的典型...

    GH

扫码关注云+社区

领取腾讯云代金券