go语言环境搭建以及配置VSCode
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.io
或https://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的更多相关文章
- go语言环境搭建+sublime text3(windows环境下)
感觉有点坑,整了一下午~搞定 go语言环境搭建+sublime text3(windows环境下) 1.安装sublime text3 2.安装go语言程序包 3.测试go语言是否安装成功 键 ...
- STS开发环境搭建与配置
STS开发环境搭建与配置 (2012-04-11 07:24:51) 转载▼ 1. 环境准备 安装JDK.MAVEN 1.1. 下载 下载sprdfingsource-tool-su ...
- WinMail邮件服务器(客户端)环境搭建与配置
WinMail邮件服务器(客户端)环境搭建与配置 一.在搭建WinMail邮件服务器(客户端)之前必备 (1).在虚拟机上安装两个干净无毒的操作系统 ...
- 浅谈Java语言环境搭建-JDK8
title: 浅谈Java语言环境搭建-JDK8 blog: CSDN data: Java学习路线及视频 1.What's the JDK,JRE JDK(Java Development Kit ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
- Mac下R语言环境搭建
Mac下R语言环境搭建 博主在数据分析的时候一直用的python(MATLAB太重了),最近跟其他搞学术的人合作,需要用一下R语言,所以也打算顺便学习一下R. R语言简介 R语言是用于统计分析,图形表 ...
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...
- Appium的环境搭建和配置
Appium的环境搭建和配置 一.安装Nodejs 下载nodejs安装包(https://nodejs.org/en/download/)安装 下载后,双击安装文件,按提示来安装. 测试安装是否成功 ...
随机推荐
- python+eclipse 引用 import requests报错解决。
用pip install requests命令执行安装下 再重启eclipse就好了. 用pip install requests命令执行安装下 再重启eclipse就好了. 用pip install ...
- Codeforces Edu Round 66 A-E
A. From Hero to Zero 通过取余快速运行第一步即可.由于\(a \% b (a >= b) <= \frac{a}{2}\).所以总复杂度不超过\(O(log_2n)\) ...
- 【Codeforces 715C】Digit Tree(点分治)
Description 程序员 ZS 有一棵树,它可以表示为 \(n\) 个顶点的无向连通图,顶点编号从 \(0\) 到 \(n-1\),它们之间有 \(n-1\) 条边.每条边上都有一个非零的数字. ...
- 链判断运算符和Null 判断运算符
链判断运算符 如果我们要获取一个对象的深层嵌套属性,例如获取文章标题res.data.article.title,然后为了安全起见,我们肯定不能直接这样获取,万一res对象没有article属性了呢, ...
- Filebeat+Logstash自定义多索引
方案一:推荐 [root@elk-node-1 filebeat]# cat filebeat.yml|egrep -v "^$|^#|#" filebeat.inputs: - ...
- GaussDB(DWS)应用实践丨负载管理与作业排队处理方法
摘要:本文用来总结一些GaussDB(DWS)在实际应用过程中,可能出现的各种作业排队的情况,以及出现排队时,我们应该怎么去判断是否正常,调整一些参数,让资源分配与负载管理更符合当前的业务:或者在作业 ...
- 20201214-1 Json与pickle数据序列化
1-1 文件处理时,只能存字符串或者二进制 info = { 'name':'alex', 'age':22 } f = open("test.text", "w&quo ...
- LLVM程序分析日记之CMake使用
我们编写LLVM Pass或者将LLVM嵌入自己的项目时,需要用到CMake来组织自己的项目目录. Documents [1] http://llvm.org/docs/CMake.html#embe ...
- 详解双向链表的基本操作(C语言)
@ 目录 1.双向链表的定义 2.双向链表的创建 3.双向链表的插入 4.双向链表的删除 5.双向链表更改节点数据 6.双向链表的查找 7.双向链表的打印 8.测试函数及结果 1.双向链表的定义 上一 ...
- IO流(03)--序列化流、打印流
序列化流 Java提供了一种对象序列化的机制,用一个字节序列可以表示一个对象,该字节序列包含该对象的数据.对象的类型和对象中存储的属性等信息.字节序列写入到文件中后,就相当于在文件中保存了一个对象信息 ...