- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
搭建go语言环境,除了要搭建go语言的编译环境,还要搭建go语言的集成开发环境,为此需要选择go语言的集成开发环境的工具,这就是“工于善其事,必先利其器”,可以大大加快自己的开发进度.
这里我主要介绍从我2016年开始学习go语言以来使用过的go语言的所有集成开发环境工具,如果你对这段没有兴趣,可以直接跳过.
这是我较早使用的集成开发环境工具,Goland或IntelliJ IDEA等 JetBrains产品 是非常优秀的go语言集成开发环境工具,其中IntelliJ IDEA更是一个几乎所有主流语言的集成开发环境工具.
Goland或IntelliJ IDEA是目前我用过的最好的go语言集成开发环境,它比其他开发环境优秀的地方是对于go语言接口的完美支持。它不仅可以快速检索哪些go语言的机构体实现了一个go语言接口,而且 能快速检索一个go语言的机构体是否实现某个go语言接口 ,而其他集成开发环境并不能完美做到这一点(事实上这点很重要,go语言是面向接口的,而且是隐式的)。如果你是一个初学go语言的开发者,我强烈推荐你使用这个集成开发环境工具!另外,它配置非常简单,对新进的开发者也极其友好,你肯定会喜欢上它的开发环境和插件.
但是这个工具的唯一缺点就是每年需要你投入一定的资金(现在第一年 US $99.00 )购买许可证,当然每年的许可费用会越来越便宜,另外如果你是学生,可以免费白嫖这个工具.
Visual Studio Code 简称vscode,这是我现在使用的集成开发环境,而且是虽然它不如Goland或IntelliJ IDEA,但是它支持go语言google开发团队开发的官方语言服务器 gopls ,在go语言1.13时代之后官方语言服务器gopls已经逐步替代了许多其他的go语言工具,另外我觉得Visual Studio Code是目前免费go语言集成开发工具做的最好的,由于它对官方语言服务器的支持,为此Visual Studio Code在go语言编程时支持go mod依赖,代码补全,语义检查等等方面支持都很好.
其他的我还使用过的ide工具,如[sublime text 3](sublime text 3)以及 LiteIDE ,就不详细介绍了.
另外,还有我没使用过但听过的go语言集成开发环境,Eclipse,Atom,Emacs.
这里主要介绍了windows操作系统的搭建 。
可以从官网下载 Visual Studio Code , 注意:下载可能会很慢 。
按照指引,点击下一步 。
注意选择以上并且不断点击下一步即可完成安装 。
从 go安装软件官网 下载合适的go编译环境,例如本次我下载的版本是 go1.20.7.windows-amd64.msi ,需要注意的是 go语言的镜像官网 不仅仅提供下载,请好好探索一下它,后面的篇章中我还会详细提及它的强大作用.
同意协议后,选择安装路径,请记住这个路径,然后按next完成安装 。
右击电脑,点击属性后出现以下页面 。
点击高级选项,如下点击 。
如下点击新建环境变量 。
如下图将%GOROOT%\bin加入path 。
之后不断确认你打开的所有窗口,建议重启后,使用win+R打开cmd输入以下命令检查是否正常安装 。
go version
go version go1.20.7 windows/amd64
在vscode插件市场选择go语言 。
安装完后选择编辑go语言插件配置 。
直接在json文件中编辑 。
如下:
{
"go.gopath": "E:\projects"
}
在E:\projects下建立如下文件夹bin,pkg, src 。
-----+---bin
+---pkg
+---src
安装go语言插件的依赖软件,使用Ctil+Shift+P 。
选择安装所有插件 。
以下是安装完的场景 。
在E:\projects\src下建立如下文件github.com/Breeze0806/test/main.go 。
-----+--bin
+--pkg
+--src--+--github.com--+--Breeze0806--+--test--+--main.go--
在main.go中写入以下程序 。
package main
func main(){
fmt.Println("Hello")
}
使用go mod 命令建立项目 。
go mod init github.com/Breeze0806/test
go mod tidy
go run main.go
如图test目录下多了go.mod,输出结果为Hello 。
本篇讨论了go语言的当前所有的集成开发环境,并且介绍了Visual Studio Code的windows操作系统下的go语言开发环境搭建,那么其他操作系统有没有办法搭建?有的,由于楼主使用的windows系统,其实unbuntu或者macos的搭建方式类似.
本篇讨论了go语言的当前所有的集成开发环境,并且介绍了Visual Studio Code的windows操作系统下的go语言开发环境搭建,那么其他操作系统有没有办法搭建?有的,由于楼主使用的windows系统,其实unbuntu或者macos的搭建方式类似.
《go语言的数据类型那点事》 。
最后此篇关于go语言环境要这样搭建才"省钱"的文章就讲到这里了,如果你想了解更多关于go语言环境要这样搭建才"省钱"的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
至少在某些 ML 系列语言中,您可以定义可以执行模式匹配的记录,例如http://learnyouahaskell.com/making-our-own-types-and-typeclasses -
这可能是其他人已经看到的一个问题,但我正在尝试寻找一种专为(或支持)并发编程而设计的语言,该语言可以在 .net 平台上运行。 我一直在 erlang 中进行辅助开发,以了解该语言,并且喜欢建立一个稳
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
我正在寻找一种进程间通信工具,可以在相同或不同系统上运行的语言和/或环境之间使用。例如,它应该允许在 Java、C# 和/或 C++ 组件之间发送信号,并且还应该支持某种排队机制。唯一明显与环境和语言
我有一些以不同语言返回的文本。现在,客户端返回的文本格式为(en-us,又名美国英语): Stuff here to keep. -- Delete Here -- all of this below
问题:我希望在 R 中找到类似 findInterval 的函数,它为输入提供一个标量和一个表示区间起点的向量,并返回标量落入的区间的索引。例如在 R 中: findInterval(x = 2.6,
我是安卓新手。我正在尝试进行简单的登录 Activity ,但当我单击“登录”按钮时出现运行时错误。我认为我没有正确获取数据。我已经检查过,SQLite 中有一个与该 PK 相对应的数据。 日志猫。
大家好,感谢您帮助我。 我用 C# 制作了这个计算器,但遇到了一个问题。 当我添加像 5+5+5 这样的东西时,它给了我正确的结果,但是当我想减去两个以上的数字并且还想除或乘以两个以上的数字时,我没有
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 4 年前。 Improve th
这就是我所拥有的 #include #include void print(int a[], int size); void sort (int a[], int size); v
你好,我正在寻找我哪里做错了? #include #include int main(int argc, char *argv[]) { int account_on_the_ban
嘿,当我开始向数组输入数据时,我的代码崩溃了。该程序应该将数字读入数组,然后将新数字插入数组中,最后按升序排列所有内容。我不确定它出了什么问题。有人有建议吗? 这是我的代码 #include #in
我已经盯着这个问题好几个星期了,但我一无所获!它不起作用,我知道那么多,但我不知道为什么或出了什么问题。我确实知道开发人员针对我突出显示的行吐出了“错误:预期表达式”,但这实际上只是冰山一角。如果有人
我正在编写一个点对点聊天程序。在此程序中,客户端和服务器功能写入一个唯一的文件中。首先我想问一下我程序中的机制是否正确? I fork() two processes, one for client
基本上我需要找到一种方法来发现段落是否以句点 (.) 结束。 此时我已经可以计算给定文本的段落数,但我没有想出任何东西来检查它是否在句点内结束。 任何帮助都会帮助我,谢谢 char ch; FI
我的函数 save_words 接收 Armazena 和大小。 Armazena 是一个包含段落的动态数组,size 是数组的大小。在这个函数中,我想将单词放入其他称为单词的动态数组中。当我运行它时
我有一个结构 struct Human { char *name; struct location *location; int
我正在尝试缩进以下代码的字符串输出,但由于某种原因,我的变量不断从文件中提取,并且具有不同长度的噪声或空间(我不确定)。 这是我的代码: #include #include int main (v
我想让用户选择一个选项。所以我声明了一个名为 Choice 的变量,我希望它输入一个只能是 'M' 的 char 、'C'、'O' 或 'P'。 这是我的代码: char Choice; printf
我正在寻找一种解决方案,将定义和变量的值连接到数组中。我已经尝试过像这样使用 memcpy 但它不起作用: #define ADDRESS {0x00, 0x00, 0x00, 0x00, 0x0
我是一名优秀的程序员,十分优秀!