目录

Hello World
package main

import "fmt"

func main() {
    fmt.Println("Hello World!")
}

使用 go run 指令执行程序:

$ go run hello.go 

使用 go build 指令生成二进制:

$ go build hello.go 

$ ll
total 4256
-rwxr-xr-x  1 mickeyfan  staff   2.1M  7  5 11:08 hello
-rw-r--r--  1 mickeyfan  staff    76B  7  5 11:08 hello.go

$ ./hello
程序结构

Go 程序的基本组成部分,包括:

  • 包声明
  • 导入包
  • 函数
  • 变量
  • 表达式
  • 语句
  • 注释

包声明

必须在源文件中非注释的第一行指明这个文件属于哪个包,使用 package 关键字,如:package main,表示一个可独立执行的 main 程序,每个 Go 应用程序都包含一个名为 main 的包。

注意

  • 文件名与包名没有直接关系,并非需要一致。
  • 文件夹名与包名没有直接关系,并非需要一致。
  • 同一个文件夹下的文件只能有一个包名,否则编译报错。

导入包

使用 package 关键字定义的包,可以被其他包导入,使用 import 关键字。例如:import “fmt”,表示告诉 Go 编译器当前这个 main 包需要使用到 fmt 包中的函数,或其他元素。fmt 包实现了格式化 IO(输入/输出)的函数。

函数

使用 func 关键字来修饰一个函数的定义,例如:func main(),main 函数是每一个可执行程序所必须包含的,作为程序的入口。但 Golang 还定义了 init() 初始化函数的概念,若存在则最优先执行。

标识符

常量名、变量名、类型、函数名、结构体名称都统称之为标识符。Golang 标识符由 A-Z、a-z、0-9、_(下划线)任意组成,但第一个字符必须是字母或下划线而不能是数字。

当标识符以一个大写字母开头,如:Group1,表示其可以被外部包导入并使用,相对于当前包而言,这被称为导出。当标识符以小写字母开头,如:group1,则对外部包是不可见的,仅在当前包内部可见。

关键字

Go 语言编程 — 程序结构_Golang

语句

一行代表一个语句结束。每个语句间不需要行间隔符 “;”,这些工作将由 Go 编译器自动完成。如果你希望将多个语句写在同一行,它们则必须使用 “;” 人为区分,但在实际开发中并不鼓励这种做法。

表达式

表达式通常由标识符和运算符组成,与语句的本质区别的与:表达是一定有返回值,而语句不一定。

注释

Golang 的注释和 C 语言一般:

  • 单行注释://
  • 块(多行)注释:/**/