下载地址(官网):
https://golang.org/dl/

下载地址(国内):
https://dl.gocn.io/

想编译GO,必须先有一个GO的编译器。

创建GO的编译器:
[root@node2 ~]# mkdir local
[root@node2 ~]# cd local
[root@node2 local]# curl -LO https://dl.google.com/go/go1.4.3.src.tar.gz
[root@node2 local]# tar xvf go1.4.3.src.tar.gz
[root@node2 local]# mv go go1.4.3
[root@node2 local]# cd go1.4.3/
[root@node2 go1.4.3]# cd src/
[root@node2 src]# ./make.bash
[root@node2 go1.4.3]# bin/go version
go version go1.4.3 linux/amd64

安装GO软件:
[root@node2 local]# tar xf go1.10.3.src.tar.gz
[root@node2 local]# ls
go go1.10.3.src.tar.gz go1.4.3 go1.4.3.src.tar.gz

[root@node2 local]# mv go go1.10

[root@node2 go1.10]# cd src/

[root@node2 src]# ./make.bash
Building Go cmd/dist using /root/go1.4.
ERROR: Cannot find /root/go1.4/bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.

需要设置1.4版本的环境变量

[root@node2 src]# export GOROOT_BOOTSTRAP=/root/local/go1.4.3
[root@node2 src]# ./make.bash

[root@node2 go1.10]# bin/go version
go version go1.10.3 linux/amd64
[root@node2 local]# mv go1.10 go

初始化环境
GOROOT 放置go的标准库和工具链
$HOME/local/go (linux, mac)
c:\local\go (windows)

GOPATH 放置第三方代码和自己的工程
$HOME/go (linux, mac)
c:\go (windows)

PATH
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

[root@node2 ~]# vim ~/.bashrc
export GOROOT=/root/local/go
export GOPATH=/root/go
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

测试一个Hello World
[root@node2 go]# vim hello.go
package main

import "fmt"

func main() {
  fmt.Println("hello golang")
}

[root@node2 go]# go run hello.go
hello golang

编译运行
go build hello.go && ./hello # 编译成.exe的文件,在Windows中执行。直接编译成可执行文件。在Linux中也可以直接运行 ./hello
go run hello.go #在linux中执行执行该文件

[root@node2 go]# go build hello.go
[root@node2 go]# file hello
hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped
[root@node2 go]# ./hello
hello golang

mac系统把程序编程成Linux系统的程序:
[root@node2 go]# GOOS=linux go build hello.go 变成linux
[root@node2 go]# GOOS=windows go build hello.go 变成windows
[root@node2 go]# GOOS=darwin go build hello.go 变成mac

[root@node2 go]# GOOS=linux go build -o hello.linux hello.go
[root@node2 go]# GOOS=linux go build -o hello.lin hello.go
[root@node2 go]# GOOS=windows go build -o hello.exe hello.go
[root@node2 go]# GOOS=darwin go build -o hello.mac hello.go

安装go版本的更多相关文章

  1. 如何为eclipse安装合适版本的python插件pydev

    pydev是一款优秀的Eclipse插件,大多数喜欢在eclipse开发软件的程序员(也许是java程序员)在开发python软件时希望继续使用eclipse,那么pydev是非常理想的选择. 1.安 ...

  2. ubuntu14.04下配置Java环境以及安装最新版本的eclipse

    首先是配置JDK 步骤一:下载最新版本的JDK,链接:http://www.oracle.com/technetwork/java/javase/downloads/index.html 步骤二:首先 ...

  3. Python 基础之在ubuntu系统下安装双版本python

    前言:随着python升级更新,新版本较于老版本功能点也有不同地方,作为一个初学者应该了解旧版本的规则,也要继续学习新版本的知识.为了能更好去学习python,我在ubuntu安装python2和py ...

  4. 在树莓派(Raspberry Pi)上编译安装更新版本的Python

    Raspiban Wheezy上预装的Python3版本是3.2.3,本文将介绍升级到3.4.3的方法. 此文也适用于安装其它版本(比如最新版本)的Python. 我用的是B+型的树莓派,装的系统是2 ...

  5. 安装指定版本的cordova

    安装指定版本的cordova 刚接触cordova看到教程肯定是直接 npm install -g cordova 然后下载个集成的adt 以为万事大吉,开始hello world 玩玩没有想到最新的 ...

  6. yum安装高版本mysql(5.5)

    1.导入第三方源webtatic rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm 2.如果已安装低版本的mysql就删除 yum r ...

  7. 如何安装最新版本的memcached

    转载自孟叔的博客:  https://learndevops.cn/index.php/2016/06/10/how-to-install-the-latest-version-of-memcache ...

  8. ppa安装php版本

    如果你想安装PHP的特定版本,那么这篇文章可以帮助你.这篇文章将帮助您安装PHP 5.4和PHP 5.5 PHP 5.6,通过使用PPA在Ubuntu 15.10 LTS,14.04或12.04 LT ...

  9. python开发学习-day01 (python安装与版本、字符串、字典、运算符、文件)

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  10. Linux环境Nginx安装多版本PHP

    php5.4.44 所谓多版本多版本PHP就是php5.4和5.5以及其他版本在同一台服务器. 假如php5.5是主版本已经安装在/usr/local/php目录下,那么再安装其他版本的php再指定不 ...

随机推荐

  1. SSM商城系统开发笔记-配置01-web.xml

    先占坑 慢慢填, 商城系统使用主体框架:Spring + Spring MVC + Mybatis 其他框架: 日志: slf4j + logback <!DOCTYPE web-app PUB ...

  2. JAVA对象序列化和反序列化学习

    JAVA序列化就是将JAVA对象转化为字节序列的过程,而JAVA反序列化就是将字节序列转化为JAVA对象的过程. 这一过程是通过JAVA虚拟机独立完成,所以一个对象序列化后可以在任意时间和任意机器上反 ...

  3. linux 根目录扩容

    之前搭建了一个CentOS(7.0, x64)的VM,一直没留意它的硬盘空间.昨天,系统突然弹出警示,说 根目录 空间不足了. 这样的话,就只能给它增加空间呗. 我自己其实已经增加过硬盘空间了,但是为 ...

  4. linux常用汇总

    E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to ...

  5. 基于Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 四路光纤卡

    基于Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 四路光纤卡 1. 板卡概述   板卡主芯片采用Xilinx公司的XC7K325T-2FFG900 FPGA,pin_ ...

  6. python面向对象--类和实例的认识

    '''1.数据属性 2.函数属性''' #创建一个类class Chinese: "这是一个中国人的类" #类属性 money=4000 #注意类和对象均用点来访问自己的属性 de ...

  7. TypeScript扩展类方法

    以数组删除元素为例 javascript数组删除一般是这样 const idx = selectedIDs.findIndex(x => x === deSelected); selectedI ...

  8. flask之环境的搭建

    一.查看ubantu上是否安装虚拟环境的包 virtualenv --version 这里显示的是:15.0.1的版本,如果没有的话, sudo pip install virtualenv sudo ...

  9. Java IO方式

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11444349.html BIO 传统的java.io包,它基于流模型实现,提供了我们最熟知的一些IO功 ...

  10. threading包的例子和queue包的例子

    参考:https://www.cnblogs.com/tkqasn/p/5700281.html 参考:https://www.cnblogs.com/tkqasn/p/5700281.html th ...