用 Go 开发终端接口服务--Go 语言基本语法
Go 语言本身是一门极简的语言,它是 “大道至简” ,“少即是多” 理念的典范语言,而我们的接口服务用到东西又只是一小部分,所以学员需要掌握的基本语法是极少的。
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 |
常见的基本数据类型
基本数据类型 | 基本数据类型 | 基本数据类型 | 基本数据类型 | 基本数据类型 |
---|---|---|---|---|
uint8 | uint16 | uint32 | uint64 | uint |
int8 | int16 | int32 | int64 | int |
bool | byte | string | float32 | float64 |
最常见的基本数据类型的使用
// 定义一个整数,默认值为 0 var i int // 定义整数并赋值 var i int = 23 // 或者这样简洁定义 i := 23 // 定义64位的整数并赋值 var i64 int64 = 1024 // 或者这样简洁定义 i64 := 2048 // 定义64位的浮点数 var f64 float64 = 3.141516 // 或者这样简洁定义 f64 := 3.141516 // 定义字符串,默认值为空字符串 var s1 string // 定义字符串并赋值 s2 := "this is a string"
slice 和 map 是最常见的复合数据类型
// 定义一个 slice 数据类型 s := []int{6, 3, 9, 8, 1, 5} // slice 取值 s[0] s[2] ... // 定义两个 map 数据类型,其实它们就是键值对,键值对可以是任何基本数据类型 m1 := map[int]string{1: "a", 2: "b", 3: "c", 4: "d", 5: "e", 6: "f"} m2 := map[string]int{"k1": 2, "k2": 3, "k3": 4} // map 取值 m1[1] m1[2] m2["k1"] m2["k2"] ...
if 判断语句的使用
// 定义两个整数并赋值 a := 23 b := 25 // if 判断语句 if a > b { fmt.Printf("%d > %d\n", a, b) } else if a < b { fmt.Printf("%d < %d\n", a, b) } else { fmt.Printf("%d == %d\n", a, b) }
for 循环语句的使用
// 定义一个 slice 数据类型 s := []int{6, 3, 9, 8, 1, 5} // 循环遍历一个 slice 数据 for i, l := 0, len(s); i < l; i++ { fmt.Printf("slice elem%d is %d\n", i, s[i]) } // 定义一个字典数据类型 m := map[int]string{1: "a", 2: "b", 3: "c", 4: "d", 5: "e", 6: "f"} // 循环遍历一个字典数据 for k, v := range m { fmt.Printf("map key%d is %s\n", k, v) }
// BaseField 基类结构体 type BaseField struct { ID int64 Created time.Time Updated time.Time } // User 用户结构体 type User struct { BaseField //嵌套基类结构体 UserName string Password string Sex int Status int }
多返回值函数,是非常棒的东西,习惯了后,感觉其他语言上没有多返回值函数,真的非常不方便。在 Go 开发的项目中,随处可见,最常见的就是一个函数既返回数据,又返回错误信息。
// GetUser 多返回值函数 func GetUser() (*User, error) { user := User{ BaseField: BaseField{ ID: 1, Created: time.Now(), Updated: time.Now(), }, UserName: "abc", Password: "password", Sex: 1, Status: 1, } return &user, nil } // MulRetVal 多返回值函数 func MulRetVal() (int, string) { return 1, "success!" }
小结
Go 的语法相比 C 语言,简化了不少,它对于我们记忆相当友好。25个关键字和36个预定的标识符,组成了 Go 语言主要的语法基础,相对其他语言已经相当精简了。和其他语言一样,在实际项目中,用到的关键字会更少,有相当部分的关键字和标识符是不常用了,本章代码示例,就是项目经常用到基础语法,读者如果之前了解过 Go 语言,只要看一遍,就可以掌握了。
《用 Go 开发终端接口服务》 目录
哇~~~ 竟然还没有评论!