首页 > 其他分享 >go语言环境要这样搭建才"省钱"

go语言环境要这样搭建才"省钱"

时间:2023-08-13 22:12:07浏览次数:86  
标签:集成 Code 语言 环境 省钱 Studio go 搭建

go语言环境要这样搭建才省钱

目录

本篇概要

搭建go语言环境,除了要搭建go语言的编译环境,还要搭建go语言的集成开发环境,为此需要选择go语言的集成开发环境的工具,这就是“工于善其事,必先利其器”,可以大大加快自己的开发进度。

集成开发环境工具(ide)

这里我主要介绍从我2016年开始学习go语言以来使用过的go语言的所有集成开发环境工具,如果你对这段没有兴趣,可以直接跳过。

Goland或IntelliJ IDEA

这是我较早使用的集成开发环境工具,Goland或IntelliJ IDEA等JetBrains产品是非常优秀的go语言集成开发环境工具,其中IntelliJ IDEA更是一个几乎所有主流语言的集成开发环境工具。

Goland或IntelliJ IDEA是目前我用过的最好的go语言集成开发环境,它比其他开发环境优秀的地方是对于go语言接口的完美支持。它不仅可以快速检索哪些go语言的机构体实现了一个go语言接口,而且能快速检索一个go语言的机构体是否实现某个go语言接口,而其他集成开发环境并不能完美做到这一点(事实上这点很重要,go语言是面向接口的,而且是隐式的)。如果你是一个初学go语言的开发者,我强烈推荐你使用这个集成开发环境工具!另外,它配置非常简单,对新进的开发者也极其友好,你肯定会喜欢上它的开发环境和插件。

但是这个工具的唯一缺点就是每年需要你投入一定的资金(现在第一年US $99.00)购买许可证,当然每年的许可费用会越来越便宜,另外如果你是学生,可以免费白嫖这个工具。

Visual Studio Code

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。

Visual Studio Code的go语言开发环境搭建

这里主要介绍了windows操作系统的搭建

Visual Studio Code安装

可以从官网下载Visual Studio Code注意:下载可能会很慢

按照指引,点击下一步

注意选择以上并且不断点击下一步即可完成安装

go编译环境安装

go安装软件官网下载合适的go编译环境,例如本次我下载的版本是go1.20.7.windows-amd64.msi,需要注意的是go语言的镜像官网不仅仅提供下载,请好好探索一下它,后面的篇章中我还会详细提及它的强大作用。

同意协议后,选择安装路径,请记住这个路径,然后按next完成安装

配置go环境变量

右击电脑,点击属性后出现以下页面

点击高级选项,如下点击

如下点击新建环境变量

  1. 变量名:GOROOT 变量值:E:\lang\go ,这是go语言的编译环境安装目录,如上所示。
  2. 变量名:GO11MODULE 变量值:on,这是go语言的第三方模块依赖的。
  3. 变量名:GOPROXY 变量名:https://goproxy.cn,direct , 这是go语言的代理,用于能够正常访问一些Google的go语言的资源。
  4. 变量名:GOPATH 变量名:E:\projects 这是go语言的项目位置。

如下图将%GOROOT%\bin加入path

之后不断确认你打开的所有窗口,建议重启后,使用win+R打开cmd输入以下命令检查是否正常安装

go version
go version go1.20.7 windows/amd64

安装go语言插件

在vscode插件市场选择go语言

安装完后选择编辑go语言插件配置

直接在json文件中编辑

如下:

{
    "go.gopath": "E:\projects"
}

在E:\projects下建立如下文件夹bin,pkg, src

-----+---bin
     +---pkg
     +---src

安装go语言插件的依赖软件,使用Ctil+Shift+P

选择安装所有插件

以下是安装完的场景

使用golang编程

在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语言的数据类型那点事》

标签:集成,Code,语言,环境,省钱,Studio,go,搭建
From: https://www.cnblogs.com/onlyac/p/17627352.html

相关文章

  • ​​Linux搭建GitLab私有仓库
    @[TOC]转载自远控源码文章:Linux搭建GitLab私有仓库,并内网穿透实现公网访问前言GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。Gitlab是被广泛使用的基于git的开源代码管理平台,基于RubyonRails构建,主要针对软件开发过程中产......
  • Django实现文件上传、文件列表查看、修改、限流和日志记录8
    Django实现文件上传、文件列表查看、修改、限流和日志记录8本章节,总结一些部署项目遇到的报错,希望会有所帮助NameError:name'datetime'isnotdefined报错“logging.info('用户{}在{}登录成功'.format(username,datetime.now()))NameError:name'datetime'isnotd......
  • Data structure and algorithm-One
    右边界左边界函数式编程传统的实现方式通常是将具体的功能代码直接写在方法内部。这样的实现方式对于固定的功能来说可能是足够的,但它的灵活性和复用性较低。每当需要不同的功能时,您需要编写新的方法或修改原有方法,这可能会导致代码的冗余和不易维护。而函数式编程的优点......
  • Django Form钩子方法源码分析
    1.用法 在Form类中定义名称为 clean_+form字段名称的方法校验成功返回self.clean_data["字段名"]校验失败会raise报错 2.源码分析先从is_valid方法开始分析 当self._is_bound=True,self.errors为False时校验成功1. self._is_bound 当django项目......
  • go 进阶训练营 微服务可用性(中)笔记
    过载保护令牌桶算法存放固定容量令牌的桶,按照固定速率往桶里添加令牌https://pkg.go.dev/golang.org/x/time/rate漏桶算法作为计量工具(TheLeakyBucketAlgorithmasaMeter)时,可以用于流量整形(TrafficShaping)和流量控制(TrafficPolicing)https://pkg.go.dev/go.uber.......
  • Django实现文件上传、文件列表查看、修改、限流和日志记录7
    Django实现文件上传、文件列表查看、修改、限流和日志记录7不管调用的接口在内网,还是外网都需要做好限制保证接口的访问和限流降级处理,本章节新增限流功能。限流功能主要针对两个方面:IP和用户针对IP限流文件列表接口进行限流处理,限制每分钟每个IP访问10次,你可以使用Dja......
  • Django实现文件上传、文件列表查看、修改、限流和日志记录6
    Django实现文件上传、文件列表查看、修改、限流和日志记录6对于已经上传的文件,现在已经实现了文件的查看修改,美中不足的是:需要查看每个文件需要提前记住文件名指定文件名进行查看和修改。为此,新增一个上传文件的列表功能,在通过模版按钮跳转路由到查看和修改页面。实现逻辑查看......
  • 12 享元模式 -- go语言设计模式
    享元模式(FlyweightPattern)是一种结构型设计模式,用于有效地支持大量细粒度对象的共享。享元模式通过共享对象的方式来减少内存使用和提高性能。享元模式的实现代码packagemainimport("fmt""sync")/*业务场景描述:-租车场景,客户像车行租车,如果车行有车直接租......
  • Django实现文件上传、文件列表查看、修改、限流和日志记录4
    Django实现文件上传、文件列表查看、修改、限流和日志记录4本章添加用户认证功能,属于安全模块。用户认证在Django中,默认情况下,用户的用户名和密码是存储在数据库中的。Django提供了内置的用户模型(User模型),它可以管理用户的认证和授权。配置数据库在file_upload/settings.py......
  • Django实现文件上传、文件列表查看、修改、限流和日志记录2
    Django实现文件上传、文件列表查看、修改、限流和日志记录2本章节优化新增功能使用ssh秘钥连接远程服务器进行文件上传使用ssh私钥连接远程服务器上传文件使用SSH私钥连接远程服务器并上传文件,你可以使用paramiko库来实现SSH连接和文件传输的功能。首先,确保你已经生成了SSH......