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/)安装 下载后,双击安装文件,按提示来安装. 测试安装是否成功 ...
随机推荐
- PHP代码审计分段讲解(10)
26 unserialize()序列化 <!-- 题目:http://web.jarvisoj.com:32768 --> <!-- index.php --> <?ph ...
- CNVD漏洞证书(2)
第二张CNVD的原创漏洞证书. 关于证书申请可以看我之前写的这篇博客: https://www.cnblogs.com/Cl0ud/p/12720413.html 继续加油
- 上传到github
我是为了自己下次不用再找github上传的地方了,索性就复制了一篇 转载于 https://blog.csdn.net/m0_37725003/article/details/80904824 首先你 ...
- 5分钟入门MP4文件格式
写在前面 本文主要内容包括,什么是MP4.MP4文件的基本结构.Box的基本结构.常见且重要的box介绍.普通MP4与fMP4的区别.如何通过代码解析MP4文件 等. 写作背景:最近经常回答团队小伙伴 ...
- CSP-S 2020 游记
2020.10.11 初赛了,没怎么做题,之前在网上两次初赛模拟赛 95pts / 94pts,还白嫖了一本书,感觉挺好. 去考场,中途不舒服去了厕所,回来发现有点来不及,阅读程序最后两题不会瞎蒙. ...
- C++ 虚函数表与多态 —— 关键字 final 的用法
final 字面上最终.最后.不可改变的意思,final 这个关键字在 Jave PHP C++中都有用到,其作用也基本一致. C++中的 final 是C++11新增,他可以用来修饰类,让类无法被继 ...
- Object.assign 之后 点对象 找不到
export function CopyObject(val) { return JSON.parse(JSON.stringify(val)); }
- css进阶 04-如何让一个元素水平垂直居中?
04-如何让一个元素水平垂直居中? #前言 老板的手机收到一个红包,为什么红包没居中? 如何让一个子元素在父容器里水平垂直居中?这个问题必考,在实战开发中,也应用得非常多. 你也许能顺手写出好几种实现 ...
- [日常摸鱼]Luogu2521[HAOI2011]防线修建-set维护凸包
https://www.luogu.org/problemnew/show/2521 题意:维护一个上凸包:删点,查询周长 很容易想到把问题转换为离线:先读入全部操作,记录下最后剩下的点,倒着加点来维 ...
- 属于同一网段的ip是不是就在同一个局域网?
参考文章链接: https://zhidao.baidu.com/question/350887200.html?qbl=relate_question_0&word=%D4%DA%D2%BB ...