• Go-从零开始搭建Go语言开发环境


    下载

    Go官网下载地址:https://golang.org/dl/

    Go官方镜像站(推荐):https://golang.google.cn/dl/

    版本的选择

    Windows平台和Mac平台推荐下载可执行文件版,Linux平台下载压缩文件版。

    下图中的版本号可能并不是最新的,但总体来说安装教程是类似的。

    安装

    Windows安装

    此安装实例以 64位Win10系统安装 Go1.11.5可执行文件版本为例。

    将上一步选好的安装包下载到本地。

     双击下载好的文件,然后按照下图的步骤安装即可。

    Linux下安装

    我们在版本选择页面选择并下载好go1.11.5.linux-amd64.tar.gz文件:

    wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz

    将下载好的文件解压到/usr/local目录下:

    mkdir -p /usr/local/go  # 创建目录
    tar -C /usr/local/go zxvf go1.11.5.linux-amd64.tar.gz. # 解压

    如果提示没有权限,加上sudo以root用户的身份再运行。执行完就可以在/usr/local/下看到go目录了。

    配置环境变量: Linux下有两个文件可以配置环境变量,其中/etc/profile是对所有用户生效的;$HOME/.profile是对当前用户生效的,根据自己的情况自行选择一个文件打开,添加如下两行代码,保存退出。

    export GOROOT=/usr/local/go
    export PATH=$PATH:$GOROOT/bin

    修改/etc/profile后要重启生效,修改$HOME/.profile后使用source命令加载$HOME/.profile文件即可生效。 检查:

    ~ go version
    go version go1.11.5 linux/amd64
    

    Mac下安装

    下载可执行文件版,直接点击下一步安装即可,默认会将go安装到/usr/local/go目录下。

    检查

    上一步安装过程执行完毕后,可以打开终端窗口,输入go version命令,查看安装的Go版本。

    配置GOPATH

    GOPATH是一个环境变量,用来表明你写的go项目的存放路径(工作目录)。

    GOPATH路径最好只设置一个,所有的项目代码都放到GOPATHsrc目录下。

    补充说明:Go1.11版本之后,开启go mod模式之后就不再强制需要配置GOPATH了。

    Linux和Mac平台就参照上面配置环境变量的方式将自己的工作目录添加到环境变量中即可。 Windows平台按下面的步骤将D:codego添加到环境变量:

     

    在 Go 1.8 版本之前,GOPATH环境变量默认是空的。从 Go 1.8 版本开始,Go 开发包在安装完成后会为 GOPATH设置一个默认目录,参见下表。

    GOPATH在不同操作系统平台上的默认值

    平台GOPATH默认值举例
    Windows %USERPROFILE%/go C:Users用户名go
    Unix $HOME/go /home/用户名/go

    同时,我们将 GOROOT下的bin目录及GOPATH下的bin目录都添加到环境变量中

    配置环境变量之后需要重启你电脑上已经打开的终端。(例如cmd、VS Code里面的终端和其他编辑器的终端)。

    Go项目结构

    在进行Go语言开发的时候,我们的代码总是会保存在$GOPATH/src目录下。在工程经过go buildgo installgo get等指令后,会将下载的第三方包源代码文件放在$GOPATH/src目录下, 产生的二进制可执行文件放在 $GOPATH/bin目录下,生成的中间缓存文件会被保存在 $GOPATH/pkg 下。

    如果我们使用版本管理工具(Version Control System,VCS。常用如Git)来管理我们的项目代码时,我们只需要添加$GOPATH/src目录的源代码即可。bin 和 pkg 目录的内容无需版本控制。

    适合个人开发者

    我们知道源代码都是存放在GOPATHsrc目录下,那我们可以按照下图来组织我们的代码。

    目前流行的项目结构

    Go语言中也是通过包来组织代码文件,我们可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,我们通常使用顶级域名来作为包名的前缀,这样就不担心项目名冲突的问题了。

    因为不是每个个人开发者都拥有自己的顶级域名,所以目前流行的方式是使用个人的github用户名来区分不同的包。

     举个例子:张三和李四都有一个名叫studygo的项目,那么这两个包的路径就会是:

    import "github.com/zhangsan/studygo"

    import "github.com/lisi/studygo"

    以后我们从github上下载别人包的时候,如:

    go get github.com/jmoiron/sqlx

    那么,这个包会下载到我们本地GOPATH目录下的src/github.com/jmoiron/sqlx

    适合企业开发场景

    Go开发编辑器

    Go采用的是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做Go语言开发,这里推荐使用VS CodeGoland。 VS Code是微软开源的编辑器,而Goland是jetbrains出品的付费IDE。

    我们这里使用VS Code 加插件做为go语言的开发工具。

    VS Code介绍

    VS Code全称Visual Studio Code,是微软公司开源的一款免费现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,支持 Win、Mac 以及 Linux平台。

    虽然不如某些IDE功能强大,但是它添加Go扩展插件后已经足够胜任我们日常的Go开发。

    下载与安装

    VS Code官方下载地址:https://code.visualstudio.com/Download

    三大主流平台都支持,请根据自己的电脑平台选择对应的安装包。

     

    第一个Go程序

    Hello World

    现在我们来创建第一个Go项目——hello。在我们的GOPATH下的src目录中创建hello目录。

    在该目录中创建一个main.go文件:

    package main  // 声明 main 包,表明当前是一个可执行程序
    
    import "fmt"  // 导入内置 fmt 包
    
    func main(){  // main函数,是程序执行的入口
        fmt.Println("Hello World!")  // 在终端打印 Hello World!
    }

    go build

    go build表示将源代码编译成可执行文件。

    在hello目录下执行:

    go build

    或者在其他目录执行以下命令:

    go build hello

    go编译器会去 GOPATH的src目录下查找你要编译的hello项目

    编译得到的可执行文件会保存在执行编译命令的当前目录下,如果是windows平台会在当前目录下找到hello.exe可执行文件。

    可在终端直接执行该hello.exe文件:

    d:codegosrchello>hello.exe
    Hello World!

    我们还可以使用-o参数来指定编译后得到的可执行文件的名字。

    go build -o heiheihei.exe

    Windows下VSCode切换cmd.exe作为默认终端

    如果你打开VS Code的终端界面出现如下图场景(注意观察红框圈中部分),那么你的VS Code此时正使用powershell作为默认终端:

     十分推荐你按照下面的步骤,选择cmd.exe作为默认的终端工具:

     最后重启VS Code中已经打开的终端或者直接重启VS Code就可以了。

     如果没有出现下拉三角,也没有关系,按下Ctrl+Shift+P,VS Code正上方会出现一个框,你按照下图输入shell,然后点击指定选项即可出现上面的界面了。

     补充说明:由于VS Code对go mod模式的支持暂时还不够完善,建议大家使用Goland编辑器。

    go install

    go install表示安装的意思,它先编译源代码得到可执行文件,然后将可执行文件移动到GOPATH的bin目录下。因为我们的环境变量中配置了GOPATH下的bin目录,所以我们就可以在任意地方直接执行可执行文件了。

    转载自李文周老师博客:https://www.liwenzhou.com/posts/Go/install_go_dev/

  • 相关阅读:
    根据判断PC浏览器类型和手机屏幕像素自动调用不同CSS的代码
    c#抓取网页内容乱码的解决方案
    C#中使用正则表达式提取超链接地址的集中方法
    sql server日期时间转字符串
    DataGridView直接导出EXCEL
    sql数据库删除表的外键约束(INSERT 语句与 FOREIGN KEY 约束"XXX"冲突。该冲突发生于数据库"XXX",表"XXX", column 'XXX)
    C#抓取页面时候,获取页面跳转后的地址
    HttpWebRequest 抓取页面异常处理办法
    JQuery的Ajax跨域请求的解决方案
    mysql 事物ACID和隔离级别
  • 原文地址:https://www.cnblogs.com/Xuuuuuu/p/12368771.html
Copyright © 2020-2023  润新知