下载地址(官网):
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. Windows平台网站图片服务器架构的演进

    在主流的Web站点中,图片往往是不可或缺的页面元素,尤其在大型网站中,几乎都将面临“海量图片资源”的存储.访问等相关技术问题.在针对图片服务器的架构扩展中,也会历经很多曲折甚至是血泪教训(尤其是早期规 ...

  2. openstack stein部署手册 7. nova-compute

    # 安装程序包 yum install -y openstack-nova-compute # 变更配置文件 cd /etc/nova mv nova.conf nova.conf.org cat & ...

  3. c# Winform 调用可执行 exe 文件

    c#是一个写windows桌面小工具的好东西,但有个时候,我们需要在 winform 程序中调用其他的 exe 文件,那么该如何实现呢? 如果只是拉起一个 exe 文件,可以参考如下方法实现: str ...

  4. visual studio 中添加命令行参数

    argc argv

  5. Solr从数据库导入数据(DIH)

    一. 数据导入(DataImportHandler-DIH) DIH 是solr 提供的一种针对数据库.xml/HTTP.富文本对象导入到solr 索引库的工具包.这里只针对数据库做介绍. A.准备以 ...

  6. 查看Linux系统所对应的版本

    #cat /etc/issue 在CentOS下执行显示为:CentOS release 5.7 (Final)Kernel \r on an \m 或在Ubuntu下显示为:Ubuntu 11.04 ...

  7. [sqlmap源码阅读] 数据库识别

    通过网页返回的数据库错误信息识别网站所有数据库类型,用到的正则表达式及支持识别的数据库类型,这些信息以xml文件的形式存在,使用 sax 解析xml.

  8. Java中的Overload和Override有什么区别

    Overload和Override的区别 1.Overload 定义 Overload是重载的意思.它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后在调用时,虚拟机就会 ...

  9. centos 6.5 安装 nginx

    从nginx官网下载安装包:nginx-1.8.1.tar.gz,解压 tar xvf nginx-1.8.1.tar.gz -C /usr/local 安装依赖 yum install gcc yu ...

  10. RMQ Message ACK

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11808680.html 消息持久化机制 消息丢失了,需要将队列持久化,即将autoDelete设置成f ...