干货来了!!!为了让更多的小伙伴喜欢Golang、加入Golang之中来,Golang语言社区发起人彬哥联合业界大牛共同推出了Go语言基础、进阶、提高课程,目前已在网易云课堂限时特价分享,希望有兴趣的朋友们多多分享和支持!
以下是Go语言基础、进阶、提高课程--第三节:Go语言基础语法的部分文本教案,具体详细视频课程请扫描文章下方图片二维码或点击阅读原文!
Go 标记
Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成:
1fmt.Println("Hello, World!")
6 个标记是(每行一个):
11. fmt
22. .
33. Println
44. (
55. "Hello, World!"
66. )
行分隔符
在 Go 程序中,一行代表一个语句结束。每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾,因为这些工作都将由 Go 编译器自动完成。
如果你打算将多个语句写在同一行,它们则必须使用 ; 人为区分,但在实际开发中我们并不鼓励这种做法。
以下为两个语句:
1fmt.Println("Hello, World!")
2fmt.Println("Golang语言社区:www.Golang.Ltd")
注释
注释不会被编译,每一个包应该有相关注释。
单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾。如:
1// 单行注释
2/*
3Author by 菜鸟教程
4我是多行注释
5*/
标识符
标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(A~Z和a~z)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。
以下是有效的标识符:
1mahesh kumar abc move_name a_123
2myname50 _temp j a23b9 retVal
以下是无效的标识符:
- 1ab(以数字开头)
- case(Go 语言的关键字)
- a+b(运算符是不允许的)
关键字
下面列举了 Go 代码中会使用到的 25 个关键字或保留字:
break | default | func | interface | select |
---|---|---|---|---|
case | defer | go | map | struct |
chan | else | goto | package | switch |
const | fallthrough | if | range | type |
continue | for | import | return | var |
除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符:
append | bool | byte | cap | close | complex | complex64 | complex128 | uint16 |
---|---|---|---|---|---|---|---|---|
copy | false | float32 | float64 | imag | int | int8 | int16 | uint32 |
int32 | int64 | iota | len | make | new | nil | panic | uint64 |
println | real | recover | string | true | uint | uint8 | uintptr |
程序一般由关键字、常量、变量、运算符、类型和函数组成。
程序中可能会使用到这些分隔符:括号 (),中括号 [] 和大括号 {}。
程序中可能会使用到这些标点符号:.、,、;、: 和 …。
Go 语言的空格
Go 语言中变量的声明必须使用空格隔开,如:
1var age int;
语句中适当使用空格能让程序更易阅读。
无空格:
1fruit=apples+oranges;
在变量与运算符间加入空格,程序看起来更加美观,如:
1fruit = apples + oranges;
Go 程序的一般结构: basic_structure.go
1// 当前程序的包名
2package main
3
4// 导入其他包
5import . "fmt"
6
7// 常量定义
8const PI = 3.14
9
10// 全局变量的声明和赋值
11var name = "gopher"
12
13// 一般类型声明
14type newType int
15
16// 结构的声明
17type gopher struct{}
18
19// 接口的声明
20type golang interface{}
21
22// 由main函数作为程序入口点启动
23func main() {
24 Println("Hello World!")
25}
Go 程序是通过 package 来组织的。
只有 package 名称为 main 的包可以包含 main 函数。
一个可执行程序有且仅有一个 main 包。
通过 import 关键字来导入其他非 main 包。
可以通过 import 关键字单个导入:
1import "fmt"
2import "io"
也可以同时导入多个:
1import {
2 "fmt",
3 "io"
4}
使用 <PackageName>.<FunctionName> 调用:
1package 别名:
2// 为fmt起别名为fmt2
3import fmt2 "fmt"
省略调用(不建议使用):
1// 调用的时候只需要Println(),而不需要fmt.Println()
2import . "fmt"
前面加个点表示省略调用,那么调用该模块里面的函数,可以不用写模块名称了:
1import . "fmt"
2func main (){
3 Println("hello,world")
4}
通过 const 关键字来进行常量的定义。
通过在函数体外部使用 var 关键字来进行全局变量的声明和赋值。
通过 type 关键字来进行结构(struct)和接口(interface)的声明。
通过 func 关键字来进行函数的声明。
可见性规则
Go语言中,使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包所调用。
函数名首字母小写即为 private :
1func getId() {}
函数名首字母大写即为 public :
1func Printf() {}