Go语言学习笔记(环境安装)-day01

Go语言运行环境安装

下载Go安装包

安装包地址

安装Go语言运行环境

​ 直接在下载好的目录双击运行*.msi的可执行文件,下一步进行安装,安装的目录最好是选择盘符的第一层目录。

配置GOPATH

​ GOPATH是Go语言在编译时自动寻找的源码目录

​ 1. 在windows系统中,选择计算机右键----》打开属性----》选择高级系统设置----》环境变量----》选择系统变量----》新建变量GOPATH,值为你想存放的源码路径。

2.在命令行中运行go version查看版本

创建目录结构

​ 在配置完GOPATH后,一般在其目录下会创建三个目录分别是src、bin、pkg

​ 在企业开发中,一完般都是多人协作开发,Go语言在开发过程中都会引用其他人的安装包,目录结构推荐一下方式

IDE VS Code 安装

​ VS Code是微软开源的一款IDE工具,支持多种类型的开发语言。相对一 Golang会比较轻量级。

下载VS Code

安装包下载地址:VS Code

下载完成后,双击安装即可,安装目录也是建议选择盘符目录下的第一层目录。

安装完成后,需要安装两个插件以支持Go语言的开发,分别是Go,Chinese,前者支持Go语言开发环境,后者使IDE支持中文。



配置VS Code支持Go语言的各种特性

​ 如果需要使用VS Code开发Go则需要安装一些Go语言的插件以便更好的开发。由于国内的网络原因,自动安装往往安装失败,这里提供了两种安装方式,分别是手动安装和自动安装。

手动安装

点击下载二进制文件

提取码:s7yk

手动下载参考链接

下载完成后,移动到%GOPATH%\bin目录下

除了在百度云上下载已经存在的二进制文件,还可以去github上下载源码进行手动编译安装

点击进入手动安装地址

自动安装

在VS Code界面中使用快捷键进入安装界面,Ctrl+shift+P

在输入框中输入Go:install/Update Tools

输入后直接敲入回车

全部选中点击确定即可安装

如果安装执行失败,则需要配置代理

Go1.14版本之后,都推荐使用go mod模式来管理依赖环境了,也不再强制我们把代码必须写在GOPATH下面的src目录了,你可以在你电脑的任意位置编写go代码。(网上有些教程适用于1.11版本之前。)

默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct,由于国内访问不到https://proxy.golang.org,所以我们需要换一个PROXY,这里推荐使用https://goproxy.iohttps://goproxy.cn

可以执行下面的命令修改GOPROXY:go env -w GOPROXY=https://goproxy.cn,direct

执行完成命令后在进行安装,如果还是不能进行安装,只能以手动方式进行。

开始第一个程序“Hello world“

在源码目录下新建一个目录:helloworld

创建后的目录结构为:%GOPATH%\github.com\linzhiguo\helloworld

新建一个文件为helloworld.go

//第一行说明编译后是一个可执行文件还是一个可以被引用的包/main编译后是一个二进制文件
package main
// import 和其他语言一样都是导入包的指令,被导入的包必须被双引号引起,fmt是一个格式化打印的包
import "fmt"
// Go语言是静态语言,所有的逻辑都要放在函数中运行,main函数是go默认读取的第一个函数,也称之为入口函数
func main() {
fmt.Println("Hello world!")
}

go语言不能直接运行,需要进行编译后在运行。

源码编译

Go语言源码编译使用go build指令进行编译

​ 源码编译有三种方式

1.在源码目录进行编译

cd %GOPATH%\github.com\linzhiguo\helloworld

go build

2.在任意目录编译

通过-i指定需要编译的包

go build -i github.com\linzhiguo\helloworld

3.编译并安装

编译并安装是指先进行编译,在将编译好的二进制文件放入%GOPATH%\bin目录下

go install

4.指定编译后二进制文件的文件名

go build -o hello.exe

指定平台架构编译

​ Go语言也是可以跨平台运行的,只需要在编译的时候指定其运行架构即可。

Linux:

GO_ENABLED=0 GOOS=linux GOARCH=amd64

go build

windows:

CGO_ENABLED=0 GOOS=windows GOARCH=amd64

go build

go语言环境搭建以及配置VSCode的更多相关文章

  1. go语言环境搭建+sublime text3(windows环境下)

    感觉有点坑,整了一下午~搞定 go语言环境搭建+sublime text3(windows环境下) 1.安装sublime text3 2.安装go语言程序包 3.测试go语言是否安装成功     键 ...

  2. STS开发环境搭建与配置

    STS开发环境搭建与配置 (2012-04-11 07:24:51) 转载▼ 1.   环境准备 安装JDK.MAVEN 1.1.        下载 下载sprdfingsource-tool-su ...

  3. WinMail邮件服务器(客户端)环境搭建与配置

    WinMail邮件服务器(客户端)环境搭建与配置      一.在搭建WinMail邮件服务器(客户端)之前必备            (1).在虚拟机上安装两个干净无毒的操作系统          ...

  4. 浅谈Java语言环境搭建-JDK8

    title: 浅谈Java语言环境搭建-JDK8 blog: CSDN data: Java学习路线及视频 1.What's the JDK,JRE JDK(Java Development Kit ...

  5. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  6. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  7. Mac下R语言环境搭建

    Mac下R语言环境搭建 博主在数据分析的时候一直用的python(MATLAB太重了),最近跟其他搞学术的人合作,需要用一下R语言,所以也打算顺便学习一下R. R语言简介 R语言是用于统计分析,图形表 ...

  8. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

  9. Appium的环境搭建和配置

    Appium的环境搭建和配置 一.安装Nodejs 下载nodejs安装包(https://nodejs.org/en/download/)安装 下载后,双击安装文件,按提示来安装. 测试安装是否成功 ...

随机推荐

  1. python+eclipse 引用 import requests报错解决。

    用pip install requests命令执行安装下 再重启eclipse就好了. 用pip install requests命令执行安装下 再重启eclipse就好了. 用pip install ...

  2. Codeforces Edu Round 66 A-E

    A. From Hero to Zero 通过取余快速运行第一步即可.由于\(a \% b (a >= b) <= \frac{a}{2}\).所以总复杂度不超过\(O(log_2n)\) ...

  3. 【Codeforces 715C】Digit Tree(点分治)

    Description 程序员 ZS 有一棵树,它可以表示为 \(n\) 个顶点的无向连通图,顶点编号从 \(0\) 到 \(n-1\),它们之间有 \(n-1\) 条边.每条边上都有一个非零的数字. ...

  4. 链判断运算符和Null 判断运算符

    链判断运算符 如果我们要获取一个对象的深层嵌套属性,例如获取文章标题res.data.article.title,然后为了安全起见,我们肯定不能直接这样获取,万一res对象没有article属性了呢, ...

  5. Filebeat+Logstash自定义多索引

    方案一:推荐 [root@elk-node-1 filebeat]# cat filebeat.yml|egrep -v "^$|^#|#" filebeat.inputs: - ...

  6. GaussDB(DWS)应用实践丨负载管理与作业排队处理方法

    摘要:本文用来总结一些GaussDB(DWS)在实际应用过程中,可能出现的各种作业排队的情况,以及出现排队时,我们应该怎么去判断是否正常,调整一些参数,让资源分配与负载管理更符合当前的业务:或者在作业 ...

  7. 20201214-1 Json与pickle数据序列化

    1-1 文件处理时,只能存字符串或者二进制 info = { 'name':'alex', 'age':22 } f = open("test.text", "w&quo ...

  8. LLVM程序分析日记之CMake使用

    我们编写LLVM Pass或者将LLVM嵌入自己的项目时,需要用到CMake来组织自己的项目目录. Documents [1] http://llvm.org/docs/CMake.html#embe ...

  9. 详解双向链表的基本操作(C语言)

    @ 目录 1.双向链表的定义 2.双向链表的创建 3.双向链表的插入 4.双向链表的删除 5.双向链表更改节点数据 6.双向链表的查找 7.双向链表的打印 8.测试函数及结果 1.双向链表的定义 上一 ...

  10. IO流(03)--序列化流、打印流

    序列化流 Java提供了一种对象序列化的机制,用一个字节序列可以表示一个对象,该字节序列包含该对象的数据.对象的类型和对象中存储的属性等信息.字节序列写入到文件中后,就相当于在文件中保存了一个对象信息 ...