Starting your first golang program. 编写golang程序的"Hello World!"

下面我们开始Go的 "Hello world" 的编写,主要参考资料来自:

https://golang.org/doc/install

主要包括以下几个部分:

1. Go在Linux内核操作系统下的编译环境的安装。我这里是Ubuntu 15.04,Linux 3.19.0内核。

2. Go程序的编写于运行。

3. Go程序简要说明

4. Go的卸载

下面先看:

Go编译环境的配置

其实,go的安装相当的简单,概括起来就两步:1. 下载包进行解压 2. 配置环境变量

下面具体来看一下。

https://golang.org/dl/中有我们想要下载的安装包。(不知道这个网站有没有被墙,反正我虚拟机下是打不开的)在我安装的时候,最新的版本是go1.4.2。然后根据你的OS的版本去下载对应的。如果你对Linux不是很熟,

可以用命令:

uname -a  

来查看你内核的版本,以及操作系统的类型。我的PC是:

Linux michaelpc 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

所以要根据你自己的OS来选择需要的Go的版本。所以我选择的是:go1.4.2.linux-amd64.tar.gz 然后进入下载,完成之后就是解压了:

# sudo tar -C /usr/local/ -xzf go1.4.2.linux-amd64.tar.gz 
注意这里是解压到/usr/local/目录下。

然后在目录/usr/local/ 下 可以看到go的文件夹。

下面就是将/usr/local/go/bin这个go的可执行目录项加入到环境变量中。

即在/etc/bash.banshrc的最后添加

export PATH=$PATH:/usr/local/go/bin

# sudo vim /etc/bash.bashrc 

# source /etc/bash.bashrc

之后我们就可以使用

# go version

来查看go的版本了。

GO程序的编写与运行。

我们用vim编译器创建一个hello.go的文件,具体代码如下所示:

package main

import "fmt"

func main() {
    fmt.Printf("hello,world!\n")
}
这个就是官网提供的标准的Hello,world的程序。

然后我们使用:

#go run hello.go

程序会输出hello,world!. 即 go run会直接将编译,链接,运行一起执行了。如果只是想编译而不执行,那么可以直接使用

#go build hello.go 

将hello.go变为可执行的二进制文件hello。然后使用

#./hello  

就可以执行了

至此一个Go其实已经完成了。


Go的卸载

从Go的安装来看,Go的卸载也很简单了,只要将/usr/local/go 整体删除即可,然后把之前配置的环境变量删了。

Go程序的简要说明

对于上述的hello.go我们有几点说明:

1. package main 表明这是一个main类型的包。package的声明出现在源代码的开头,用来进行工程管理。

2. 包声明之后是import语句,类似于java,并且和C++中的#include类似。这里导入"fmt"包是为了使用其中的函数:Printf

还有一点需要注意的是,没有使用的包不要把他们包含进来,否则将编译出错。

3. 左花括号的位置被严格限制在函数名的那一行。

4. Go中的函数的定义的格式

func 函数名(arg0,agr1,...)(return0,return1,...) {

//函数

}

所以可以看出来go的函数支持多返回值的。

5. go中的代码行不需要住末尾加上分号。

以上就是我们对这个程序需要说明的。下面的文章我们会具体讲解Go如何管理工程。

By lingtao In Nanjing

转载请注明出处;

http://www.jb51.cc/article/p-zxohjsfl-uw.html

相关文章

什么是Go的接口? 接口可以说是一种类型,可以粗略的理解为他...
1、Golang指针 在介绍Golang指针隐式间接引用前,先简单说下...
1、概述 1.1 Protocol buffers定义 Protocol buffe...
判断文件是否存在,需要用到"os"包中的两个函数: os.Stat(...
1、编译环境 OS :Loongnix-Server Linux release 8.3 CPU指...
1、概述 Golang是一种强类型语言,虽然在代码中经常看到i:=1...