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/)安装 下载后,双击安装文件,按提示来安装. 测试安装是否成功 ...
随机推荐
- Shell命令和流程控制[linux常用命令的使用]
在shell脚本中使用三类命令: unix命令 概念:管道.重定向.backtick 流程控制 1 unix命令 echo "some text":在屏幕上输出信息 ls:文件列表 ...
- edusrc上海交通大学证书
- Docker 安装-在centos7下安装Docker(二)
参考docker安装的方式: http://www.runoob.com/docker/centos-docker-install.html Docker中文官网安装步骤:https://docs.d ...
- jQuery笔记(三)
day03 - jQuery 学习目标: 能够说出4种常见的注册事件 能够说出 on 绑定事件的优势 能够说出 jQuery 事件委派的优点以及方式 能够说出绑定事件与解绑事件 能够说出 jQuery ...
- Panda Global 要点聚焦,区块链在数字医疗的落地应
据Panda Global,随着区块链技术影响力的不断扩大,其应用性已涉及更加广泛的领域,不断更新着人们的认知.在区块链技术未介入之前,关于医疗行业和数字经济结合早已不是什么新鲜话题,相关研究不少 但 ...
- 落谷 P1412 经营与开发
题目链接 Solution 用传统的思想考虑正推,发现后面的答案依赖于当前的 \(p\),你不但要记录前 \(i\) 个还要记录 \(p\),显然空间爆炸. 类似 AcWing 300. 任务安排1, ...
- 应用案例——高并发 WEB 服务器队列的应用
在高并发 HTTP 反向代理服务器 Nginx 中,存在着一个跟性能息息相关的模块 - 文件缓存. 经常访问到的文件会被 nginx 从磁盘缓存到内存,这样可以极大的提高 Nginx 的并发能力,不过 ...
- 36个JS特效教程,学完即精通
6个JS特效教程,学完即精通 JavaScript特效教程,学完你就能写任何特效.本课程将JavaScript.BOM.DOM.jQuery和Ajax课程中的各种网页特效提取出了再进行汇总.内容涵 ...
- oracle11g ADG主备切换
oracle11g ADG主备切换 1.主库 SQL> select name,open_mode,switchover_status from v$database; NAME OPEN_MO ...
- 遍历出字母A-Z(a-z)的四种方式
# 四种方式打印出A-Z(a-z) import string l1 = [chr(i) for i in range(ord("A"), ord("Z") + ...