通过一行一行的代码写出Go的Hello World程序
直接进入正题,在任何一个地方创建一个名为 helloworld.go 的文件,然后立马执行它:
cox@Cox:~/workspace/go/src$ touch helloworld.go
cox@Cox:~/workspace/go/src$ go run helloworld.go
package :
helloworld.go:1:1: expected 'package', found 'EOF'
简单吧,看错误信息,你现在应该知道,没有绑定到某一个 package 的文件是不被 Go 认可的,所以,我们都需要加上这么一个,我们在前面的那个 helloworld.go 文件里面加上:
package main
之后再来执行:
cox@Cox:~/workspace/go/src$ vi helloworld.go
cox@Cox:~/workspace/go/src$ go run helloworld.go
# command-line-arguments
runtime.main: undefined: main.main
恩,Go程序需要从某一个位置开始执行,就像电脑有电源开关一样简单,在 Go 中,程序都是从一个名为 main 的函数开始执行,所以,再加上这个函数:
package main
func main() {}
再来执行它:
cox@Cox:~/workspace/go/src$ vi helloworld.go
cox@Cox:~/workspace/go/src$ go run helloworld.go
恩,没报任何错误了,那也就是说我们现在的程序已经正确运行,但是因为 main() 没有做任何事情,所以我们现在什么也看不到,我们现在让它来打印出 “Hello World! 您好!世界。” 这个字符串:
package main
func main() {
Println("Hello World! 您好!世界。")
}
又出错了:
# command-line-arguments
./helloworld.go:4: undefined: Println
Println 未定义,恩,从我们上面的代码中确实看得到,从来没有它,突然就这么一下子就拿来用了,不成,就像你从来没有买过车,一辈子都没见过车,怎么可能走着走着就突然在开车了呢,我们来买一辆车:
package main
import "fmt"
func main() {
fmt.Println("Hello World! 您好!世界。")
}
再来运行 helloworld.go:
cox@Cox:~/workspace/go/src$ go run helloworld.go
Hello World! 您好!世界。
成了,这个 fmt 就是我们买来的车,有了车我们才能开车,我们这里用了 fmt 里面的 Println 函数。
你学会了吗?
- 任何一个 Go 文件都必须被关联到某一个包上
- 任何一个 Go 程序都必须有一个开始点,就是那个 main 函数
- 任何一个函数或者变量都必须被定义之后才能使用
评论已关闭