zoukankan      html  css  js  c++  java
  • Go语言搭建开发环境

    Go语言搭建开发环境

    最新1.14版本,搭建Go语言开发环境。

    下载地址

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

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

    版本的选择

    根据个人系统选择最新版本

    安装

    Windows安装

    双击下载好的go1.14.3.windows-amd64 .msi,一路下一步直到安装完成

    Linux下安装

    如果不是要在Linux平台敲go代码就不需要在Linux平台安装Go,我们开发机上写好的go代码只需要跨平台编译(详见文章末尾的跨平台编译)好之后就可以拷贝到Linux服务器上运行了,这也是go程序跨平台易部署的优势。

    下载好go1.14.3.linux-amd64.tar.gz文件:

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

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

    tar -zxvf go1.14.3.linux-amd64.tar.gz -C /usr/local  # 解压
    

    如果提示没有权限,加上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.14.3 linux/amd64
    

    设置环境变量

    GOROOT和GOPATH

    GOROOTGOPATH都是环境变量,其中GOROOT是我们安装go开发包的路径,而从Go 1.8版本开始,Go开发包在安装完成后会为GOPATH设置一个默认目录,参见下表。

    GOPATH在Windows操作系统上的默认值

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

    可以通过以下方法查看默认的GOPATH目录:

    创建工作空间目录

    GOPROXY

    默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct

    国内访问不到https://proxy.golang.org

    需要换一个GOPROXY,推荐使用https://goproxy.iohttps://goproxy.cn在这不使用VPN,下载速度还是比较理想

    cmd窗口执行命令修改GOPROXY:

    go env -w GOPROXY=https://goproxy.cn,direct
    

    Go开发编辑器

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

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

    VS Code介绍

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

    下载与安装

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

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

    双击安装即可。

    配置

    安装中文简体插件

    点击左侧菜单栏最后一项管理扩展,在搜索框中输入chinese ,选中结果列表第一项,点击install安装。

    安装完毕后右下角会提示重启VS Code,重启之后VS Code就显示中文![安装简体中文插件]

    安装go扩展

    为VS Code编辑器安装Go扩展插件,让它支持Go语言开发。[安装go扩展图]

    第一个Go程序

    Hello World

    创建第一个Go项目——hello

    桌面创建一个hello目录。在该目录中创建一个main.go文件:

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

    go run

    执行脚本一样执行代码

    go run main.go
    >>>Hello World!
    

    go build

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

    在hello目录下执行:

    go build
    

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

    go build hello
    

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

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

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

    c:desktophello>hello.exe
    Hello World!
    

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

    go build -o xx.exe
    

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

    方式一

    VS Code使用powershell作为默认终端:

    推荐选择cmd.exe作为默认的终端工具:vscode shell配置2此时,VS Code正上方中间位置会弹出如下界面,选中后缀为cmd.exe的那一个

    重启VS Code中已经打开的终端或者直接重启VS Code即可。

    方式二

    按下Ctrl+Shift+P,VS Code正上方会出现一个框,你按照下图输入shell

    选择默认shell选项

    go install

    go install表示安装的意思,

    先编译源代码得到可执行文件,将可执行文件拷贝到配置的GOPATH下的bin目录,可在任意地方直接执行可执行文件。

    跨平台编译

    默认我们go build的可执行文件都是当前操作系统可执行的文件,如果我想在windows下编译一个linux下可执行文件

    只需要指定目标操作系统的平台和处理器架构即可:

    SET CGO_ENABLED=0  // 禁用CGO
    SET GOOS=linux  // 目标平台是linux
    SET GOARCH=amd64  // 目标处理器架构是amd64
    

    使用了cgo的代码是不支持跨平台编译的

    然后再执行go build命令,得到的就是能够在Linux平台运行的可执行文件了。

    Mac 下编译 Linux 和 Windows平台 64位 可执行程序:

    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
    CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
    

    Linux 下编译 Mac 和 Windows 平台64位可执行程序:

    CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
    CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
    

    Windows下编译Mac平台64位可执行程序:

    SET CGO_ENABLED=0
    SET GOOS=darwin
    SET GOARCH=amd64
    go build
    
  • 相关阅读:
    Locust:简介和基本用法
    linux more less 用法
    Pytest测试用例之setup与teardown方法
    app测试之monkey
    理解yield以及和return的区别
    Python 数据驱动工具:DDT
    requests 使用 proxies 代理时ValueError: check_hostname requires server_hostname
    from urllib.parse import urlparse 使用
    linux 三剑客 使用总结 grep sed awk
    企查查和天眼查哪个好用
  • 原文地址:https://www.cnblogs.com/remixnameless/p/12995398.html
Copyright © 2011-2022 走看看