golang 编程基础 - Hello,Word

Posted by cwen 2015-12-02

最近越发觉得自己的golang基础还是不够扎实,所有决定再从头捋一遍golang的基础知识 同时也为golang的爱好者们提供点入门材料.

我们就从这个经典的 Hello Word 案例开始吧!(先上代码)

//HelloWord.go
package main

import "fmt"

func main() {
    fmt.Println("Hello, Word")
}

接着我们打开终端

$ cd $GOPATH/src/***    //进入你的文件目录
$ go run helloWord.go

毫不意外,命令会输出

Hello,Word

同时我们还可以这样来干

$ go build helloWord.go

这样你会在当前目录下找到一个可执行的二进制文件,不需要任何其他处理下,你就可以在任何时间来运行这个二进制文件了(注:因为是静态编译,所以也不用担心在系统库更新的时候冲突,幸福感满满)

$ ./helloWord
Helllo,Word

代码详解

看到代码的第一行,熟悉 Java,Python 的同学会觉得很熟悉,没错golang也是使用 package 的来组织代码的, 一个 package 会包含一个或多个.go结束的源代码文件。每一个源文件都是以一个 package xxx的声明开头的,比如我们的例子里就是 package main 。这行声明表示该文件是属于哪一个 package,紧跟着是一系列 importpackage 名,表示这个文件中引入的 package 。再之后是本文件本身的代码

main.main 为函数的入口(main包 main函数)

代码的第二句相信大家也都猜到了,导入 fmt 包, fmt 包是干什么的呢? fmt 包实现了类似 C 语言 printfscanf 的格式化 I/O 。格式化动作(’verb’)源自C语言但更简单。

接下让我们来看 main 函数, main 必须存在与 main 包内, 这是我们整个程序的入口(注:其实c系语言差不多都是这样)。main函数所做的事情就是我们程序做的事情。当然了,main 函数一般完成的工作是调用其它 packge 里的函数来完成自己的工作,比如 fmt.Println

main 函数内我们调用了 fmt 包里面定义的函数 Println。大家可以看到,这个函数是通过<pkgName>.<funcName>的方式调用的. Println 函数类似与 c 语言的 printf ,只是在 printf 函数的基础上在输出最后加上一个格式化换行符.

到此我们的 helloWord.go 代码分析结束 下一篇博文让我真正的走进golang <<goalng编程基础-基本语法>>