Go-windows安装配置

前言

学习完了python基础,顺便也要提前学习一下go啦,抱着这样的心情,今晚尝试了安装一下go,很顺利的完成了,没有难度。

需要了解更多的关于Go的基本信息可以去维基百科查看信息,这里就不做描述了。

Go官方网站:https://golang.org

Go官网文档:https://golang.org/doc

安装-windows篇

安装以便使用Go很简单,只需要安装它的编译器就可以了:

到官网下载地址下载windows所用的系统安装包,下载回来后点击安装即可。

选择下载msi包来进行安装,安装进行的同时还会替你设置好环境变量等。

如果是zip解压的需要配置下环境变量,此过程不再描述。如果是msi安装包会自动配置环境变量,检验是否能正常使用只需要打开cmd或者powershell输入: go version

C:\Users\Administrator>go version
go version go1.10.2 windows/amd64

返回go的版本信息则正常!

GOPATH设置

仅仅安装好msi是不够的,还需要配置一些东西:GOPATH

Go从1.1版本到1.7必须设置这个变量,而且不能和Go的安装目录一样。

这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。

所以这个目录下面有三个子目录:src、bin、pkg

从go 1.8开始,GOPATH环境变量现在有一个默认值,如果它没有被设置。 它在Unix上默认为$HOME/go,在Windows上默认为%USERPROFILE%/go

如果你的是Unix环境需要:

export GOPATH=/home/tielemao/GoWork

Windows则需要新建一个环境变量名称叫做GOPATH:

GOPATH=E:\GoWork

当然,go 的msi安装包安装完成后,己默认设置了GOPATH,我们只需要右击【计算机】属性-【高级系统设置】-【高级】-【环境变量】设置编辑就可以了。

GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号,Linux系统是冒号,当有多个GOPATH时,默认会将go get的内容放在第一个目录下。

以上 $GOPATH 目录约定有三个子目录:

  • src 存放源代码(比如:.go .c .h .s等)
  • pkg 编译后生成的文件(比如:.a)
  • bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录)

hello world

配置好后,进一步构建一个简单的实例去检查go是否正常。

在你的上文的GOPATH新建一个src/hello/hello.go文件,内容如下:

package main

import "fmt"

func main() {
fmt.Printf("hello, world\n")
}

然后使用终端进入该文件夹,并且构建编译:

例:我的GOPATH设置的是E盘下的GoWork目录。

E:\> cd GoWork\src\hello
E:\GoWork\src\hello> go build

注: go 前面还有个空格才能正常执行build命令。

编译完成后,可以dir命令看到该目录下有个hello.exe可执行文件。

继续在终端执行:

E:\GoWork\src\hello> hello
hello, world

则会输出hello world

至此,GO在windows系统上安装完成。

GoDocServer

附:点击开始菜单,所有程序,找到go的程序目录,它下面会有一个GoDocServer程序,运行后的效果如上图,也是挺有意思的。可以在web界面下查看整个Go目录树了。

end

2018-05-30 星期三

Go语言-windows安装配置篇的更多相关文章

  1. 4-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(云端电脑(Windows)安装配置数据库,使用本地Navicat for MySQL和手机APP 远程连接测试)

    3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(安装配置数据库,使用Navicat for MySQL和手机APP 连接测试) 根据前面的教程把软件复制到云 ...

  2. Windows安装配置php+memcached的方法

    Windows下Memcached的安装配置方法 1.将第一个包解压放某个盘下面,比如在c:\memcached. 2.在终端(也即cmd命令界面)下输入 'c:\memcached\memcache ...

  3. nginx+php windows安装配置

    https://blog.csdn.net/zjiang1994/article/details/72876193 https://blog.csdn.net/bruce_wang_janet/art ...

  4. Python3在Windows安装配置及简单试用

    1,安装配置 安装版本是Python3.5,我的安装路径是E:\ImProgram\Python35 添加环境变量,将上述路径加入到path中 这样cmd打开命令窗口,输入python就能看到调用成功 ...

  5. SVN+FTP服务器搭建(一)——SVN安装配置篇

    Subversion是一个自由,开源的版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它 ...

  6. ASIHTTPRequest框架使用总结系列之阿堂教程1(安装配置篇

    在前年,阿堂在<IOS开发系列之阿堂教程:玩转IPhone客户端和Web服务端交互(客户端)实践>一文中,对于ASIHTTPRequest框架有过一些介简单绍,具体链接地址见http:// ...

  7. React Native01-开始 Windows环境安装配置篇

    转载本文章的童鞋请注明原链接. 查阅文档之类的资料,建议到 http://reactnative.cn/ 本人使用环境Win10. 在阅读本文之前,请了解我们安装React Native之前,要安装P ...

  8. Redis windows安装配置与Jedis访问数据库

    一 Redis概要 Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它通常被称为数据结构服务器 ...

  9. Laravel 5.5 文档 ] 快速入门 —— 安装配置篇

    服务器要求 Laravel 框架对PHP版本和扩展有一定要求,不过这些要求 Laravel Homestead 都已经满足了,不过如果你没有使用 Homestead 的话(那真是一件很遗憾的事情),有 ...

随机推荐

  1. MySQL 忘记密码怎么办?

    有时候经常忘记密码,或者更改密码时按错键的,或者不知名的错误.下面介绍windows下,解决办法都是差不多: 更改登录权限为全开放,进入后再更改权限更改密码 有几种情况 (1)如果是使用 WampSe ...

  2. [CQOI 2018]解锁屏幕

    Description 题库链接 给出平面上 \(n\) 个点,一开始你可以选任何一个点作为起点,接着对于每一个你在的位置,你可以选取一个未走过的点.将路径(线段)上所有的点均选上(包括起点终点),并 ...

  3. BG.Sqoop

    1. 下载 Sqoop,并复制到虚拟机 http://sqoop.apache.org/ 2. 安装Sqoop tar zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha. ...

  4. java SE 入门之控制语句&方法&递归算法(第五篇)

    一 控制语句(选择结构) 在学习控制语句之前,我们要先明确两件事情,什么是顺序结构(也叫做顺序执行),什么是选择结构 (分支结构或分支执行或选择执行),我们的代码执行是分为先后顺序的,就像我们之前写的 ...

  5. [PHP] 深入理解PHP内核:变量及数据类型

    1.现实生活中我们会找一个小箱子来存放物品,一来显得不那么凌乱,二来方便以后找到.计算机也是这个道理,我们需要先在内存中找一块区域,规定用它来存放数据,并起一个好记的名字,方便以后查找.这块区域就是“ ...

  6. MyBatis中的条件查询(动态sql)

    本文将介绍使用MyBatis框架,编写DAO层接口类和接口类对应的sql映射文件,使用动态sql查询满足条件的用户集合. 首先,需要创建一个实体类User,供封装数据使用: package com.x ...

  7. gRPC的通讯过程

    在 HTTP2 协议正式开始工作前, 如果已经知道服务器是 HTTP2 的服务器, 通讯流程如下: 客户端必须首先发送一个连接序言,其逻辑结构: PRI * HTTP/2.0\r\n\r\nSM\r\ ...

  8. Java8简明学习之Lambda表达式

    函数式接口 就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口,函数式接口可以被隐式转换为lambda表达式. 之前已有的函数式接口: java.lang.Runnable java.uti ...

  9. CodeForces765B

    B. Code obfuscation time limit per test:2 seconds memory limit per test:512 megabytes input:standard ...

  10. javascript代码

    LazyMan 实现LazyMan(什么是LazyMan?请自行google) function _LazyMan(_name) { var _this = this; _this.tasks = [ ...