hello world

package main

import "fmt"

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

package

Go 语言的代码通过(package)组织,包类似于其它语言里的库(libraries)或者模块(modules)。

一个包由位于单个目录下的一个或多个 .go 源代码文件组成。

目录定义包的作用。每个源文件都以一条 package 声明语句开始。

main package比较特殊,它定义了一个独立可执行的程序,而不是一个库。在 main package 里的 main 函数也很特殊,它是整个程序执行时的入口。

import

必须告诉编译器源文件需要哪些包,这就是跟随在 package 声明后面的 import 声明扮演的角色。

必须恰当导入需要的包,缺少了必要的包或者导入了不需要的包,程序都无法编译通过。

import 声明必须跟在文件的 package 声明之后。


Go 语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。

实际上,编译器会主动把特定符号后的换行符转换为分号,因此换行符添加的位置会影响 Go 代码的正确解析

  • 函数的左括号 { 必须和 func 函数声明在同一行上,且位于末尾,不能独占一行。
  • x+y 中,可在 + 后换行,不能在 + 前换行(以+结尾的话不会被插入分号,但是以 x 结尾的话则会被分号分隔)