一 关键字
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough ifrange type
continue for import return var
二 Go程序的一般结构
1. Go程序是通过package来组织的。
2. 只有package名称为main的包可以包含main函数。
3. 一个可执行程序有且仅有一个main包。
4. 通过import关键字来导入其它非main包。
5. 通过const关键字来进行常量的定义。
6. 通过函数体外部使用var关键字来进行全局变量的声明与赋值。
7. 通过type关键字来进行结构(struct)或接口(interface)的声明。
8. 通过func关键字来进行函数的声明。
9. Go语言注释两种“//"和”/* */“
一个例子
//当前程序的包名 package main //导入其它的包 import ( "flag" "fmt" "os" ) //常量定义 const PI = 3.14 //全局变量的声明与赋值 var name = "go" //一般类型的声明 type intType int //结构声明 type newType struct { } //接口声明 type newInterface interface { } //main函数,程序的入口 func main() { fmt.Println(os.Args) flag.Parse() fmt.Println(flag.Args()) }
三 导入包
导入包有两种写法。第一种写法如下:
import "flag" import "fmt" import "os"另一种写法如下:
import ( "flag" "fmt" "os" )导入包之后,使用<PackageName>.<FuncName>来对包中的函数进行调用。导入包之后,如果没有使用包中的函数或类型,那么编译报错。这是为快速编译做的一个检查。(应该是这样不需要编译用不到的包,编译速度会快一些)。
导入的包可以重命名,如:import std "fmt",可以使用std.<FuncName>来调用包“fmt"中的函数。
将包名重命名为”.",还可以省略调用,如:import . "fmt",就可以直接使用函数名来调用。不建议使用,容易混淆。
省略调用和别名不可同时使用。
四 可见性规则
五 组
const { PI = 3.14 const1 = "1" const2 = 2 const3 = 3 }var组,var组只能声明全局变量,不能声明局部变量
var { name = "go" name1 = 1 name2 = 2 }type组
type { type1 int type2 double type3 string }
有疑问加站长微信联系(非本文作者)