GO语言教程(一)Linux( Centos)下Go的安装, 以及HelloWorld
写在前面:
目前,Go语言已经发布了1.5的版本,已经有不少Go语言相关的书籍和教程了,但是看了一些后,觉得还是应该自己写一套Go语言的教程。给广大学习Go语言的朋友多一种选择。因为,咱写的教程,向来和其他的不一样。
尊重劳动,如果转载,请注明出处:常城的专栏
Go语言在Centos下的安装:
注意,以下命令需要以root身份,或者sudo运行。
说明,如果要自定义安装位置的话,需要配置GOROOT环境变量,所以这里我们采用默认的目录进行安装,就可以不配置GOROOT环境变量了。
首先去官网下载go的安装包,这里用的是:go1.5.1.linux-amd64.tar.gz
■ 1,选择安装路径
由于默认的go路径,在/usr/local下, 所以用如下命令,解压创建/usr/local/go
tar -C /usr/local -xzf go1.5.1.linux-amd64.tar.gz
■ 2,添加PATH环境变量
vi /etc/profile
然后加入下面这行:
export PATH=$PATH:/usr/local/go/bin
■ 3,建立Go的工作空间(workspace,也就是GOPATH环境变量指向的目录)
GO代码必须在工作空间内。工作空间是一个目录,其中包含三个子目录:
src ---- 里面每一个子目录,就是一个包。包内是Go的源码文件
pkg ---- 编译后生成的,包的目标文件
bin ---- 生成的可执行文件。
这里,我们在/home目录下, 建立一个名为gopath(可以不是gopath, 任意名字都可以)的文件夹,
然后再建立三个子文件夹(子文件夹名必须为src、pkg、bin)。如下图:
■ 4,设置GOPATH环境变量
vi /etc/profile
然后加入下面这行:
export GOPATH=/home/gopath
保存后,执行以下命令,使环境变量立即生效:
source /etc/profile
至此,Go语言的环境已经安装完毕。下面开始 HelloWorld
■ 5,新建项目(应用包)。
一般来说,建议包名和目录名保持一致,所以,在src文件夹下,按照你想要创建的包名,组织文件夹路径。
这里,我们在/home/gopath/src下面,建立hello文件夹。
说明:
如果你的包名为 mygo/first/hello, 那么你就需要这样的目录结构:/home/gopath/src/mygo/first/hello
如果考虑到引入git版本库管理,那么可以建立这样的包名: github.com/mytest。
■ 6,新建go代码
/home/gopath/src/hello下面,建立helloworld.go文件,并编辑,加入如下代码:
package main
import "fmt"
func main() {
fmt.Printf("Hello, world.\n")
}
■ 7,编译生成go程序
在任意文件路径下,运行:
go install hello
也可以进入项目(应用包)的路径,然后运行:
go install
注意,在编译生成go程序的时,go实际上会去两个地方找程序包:
GOROOT下的src文件夹下,以及GOPATH下的src文件夹下。
在程序包里,自动找main包的main函数作为程序入口,然后进行编译。
■ 8,运行go程序
在/home/gopath/bin/下,会发现出现了一个hello的可执行文件,用如下命令运行:
./hello
相关文章
- 深入浅出LVM on linux
- Kali Linux安装及中文指南
- Linux 开机启动方式设置 inittab 详解,开机直接进入“命令行”模式
- 查看Linux版本信息
- [GO] Install Go
- linux的top命令参数详解
- 【Go语言】【11】GO语言的包和函数
- linux中shell如何输出换行符
- [Go] 让 go build 生成的可执行文件对 Mac、linux、Windows 平台一致
- Atitit common linux cmd [root@izuf6cpeatw5z50rhgi42ez web-tomcat8]# cd logs [root@izuf6cpeatw5z50rh
- 【Go基础】使用go语言函数
- 浅析 Linux 文件 IO 读写
- 如何在windows上安装centos单系统,以及安装事项和 centOS Linux和centOS Stream区别
- L65.linux命令每日一练 -- 第十章 Linux网络管理命令 -- ifdown和route
- L61.linux命令每日一练 -- 第九章 Linux进程管理命令 -- renice和nohup
- L48.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- last、lastb和lastlog
- linux基本功系列-echo命令实战
- linux top命令及结果详解 top -p 查看Linux程序运行进程
- linux===给新手的 10 个有用 Linux 命令行技巧(转)
- Day 05 - Django + MariaDB 在 Amazon Linux 2
- 【Linux】系统中安装Go环境
- Go:go语言的认识理解、安装应用、语法使用之详细攻略