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. Mysql 逻辑架构图及日志系统

    我们经常能看到如下的逻辑架构图,但是往往不能进行很好的记忆,看过就忘记了,也不知道它的实现方式.今天通过简单的画图来简单了解一下mysql到底是如何执行一个select语句,如何update一条语句. ...

  2. 团队作业part6--复审与事后分析

    一.Alpha阶段项目复审:https://www.cnblogs.com/3Jax/p/13127401.html 二.事后诸葛亮分析:https://www.cnblogs.com/3Jax/p/ ...

  3. Power BI八年回望记

    本人从事BI,数据仓库领域相关工作15个年头,这15年目睹了这个方向从火爆到逐渐被大数据领域不断吞食.中间零散关注Power BI好长时间,也算目睹了它的成长. 那天在网络上搜索power bi,无意 ...

  4. Springboot mini - Solon详解(六)- Solon的校验框架使用、定制与扩展

    Springboot min -Solon 详解系列文章: Springboot mini - Solon详解(一)- 快速入门 Springboot mini - Solon详解(二)- Solon ...

  5. Jmeter(8)分布式测试

    通过Jmeter远程启动功能,把一台windows机器作为控制器,远程控制其他多个Windows或linux压力机,把压力分散到多台执行机器上,从而实现高并发,并在控制机上搜集测试结果 Jmeter分 ...

  6. java中对象的简单解读

    对象=属性(int double之类都是变量的属性)+方法(想要实现内容,所做的一套算法) 属性=变量的所有数据 方法(c语言中叫做函数)=算法 总而言之 对象就是  给他所需要的的数据-->& ...

  7. elasticsearch6.5.x-centos6

    elasticsearch6.5.x-centos6 elasticsearch 和 关系型数据库中的类比 es ====== RDBMS index ----- database type ---- ...

  8. WebSocket实现站内消息实时推送

    关于WebSocket WebSocket是HTML5 开始提供的一种在单个TCP连接上进行全双工通讯的协议.什么是全双工?就是在同一时间可以发送和接收消息,实现双向通信,比如打电话.WebSocke ...

  9. K8S构建1台master2台node+Harbor_笔记

    部署环境: master.node:centos7虚拟机 网络使用本地网卡共享到VMnet1(仅主机),虚拟机使用VMnet1. 准备文件: CentOS-7-x86_64-Minimal-1810. ...

  10. BP暴力破解

    BurpSuite暴力破解 1.设置代理 首先要用phpstudy打开Mysql和Apache,然后将设置浏览器代理,地址127.0.0.1  端口8080 2.进入dvwa靶场 进入dvwa时,要用 ...