$ vim first.go
//创建包
package main
//导入包
import ("fmt")
//主函数
func main() {
    fmt.Println("hello world")
}

创建包

Go以包作为管理工具,每个Go源代码必须声明所属包。

package main

package是声明包名的关键字,其后跟包名。

Go的包与文件夹是一一对应的

  • 一个目录下的同级文件属于同一个包
  • 包名可以与目录名不同
  • main包是Go的入口包,一个Go程序中有且仅有一个main包。

导入包

包声明后可使用import语句导入程序中所以来的包,导入的包名使用"双引号包裹。

import ("fmt")

当前包中导入fmt包,告知编译器需要使用fmt包中的函数或变量等。

Go语言标准内提供用于格式化输入输出的内容,类似于C语言中的stdio.h头文件。

导入的包中不能含有代码中没有使用的包,否则编译器会报出编译错误import and not used

使用import关键字引入多个包时,import使用()小括号名包裹,每个包名独占一行。

入口函数

func main() {
    fmt.Println("hello world")
}
  • Go程序的入口函数为main()函数,是程序启动后运行的第一个函数。
  • main()函数只能声明在main包中,不能声明在其他包中。
  • 一个main包中必须有且仅有一个main函数
  • main()函数是自定义函数的一种,Go中函数以关键字func开头。

函数定义格式

func 函数名 (参数列表) (返回值类型列表){
  函数体
}
  • 函数名:由数字、字母、下划线构成,首字母非数字,同一个包禁止出现同名函数。
  • 参数列表:参数由参数变量和参数类型组成
  • 返回值类型列表:当函数有返回值时函数体内必须使用return语句返回
  • 函数体:重复调用的代码片段
  • Go函数左大括号{必须和函数名同行
fmt.Println("hello world")
  • Println是fmt包的用于格式化输出数据的函数,类似C中的printf函数。
  • Println函数打印完毕后自动换行,ln即Line。
  • 点号.是Go运算符表示调用fmt包中的Println函数
  • 语句结尾无需添加;分号做结束符