-
go标识符:一个或是多个字母(A~Z和a~z)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。
-
标识符(包括常量、变量、类型、函数名、结构字段等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。
-
需要注意的是 { 不能单独放在一行,所以以下代码在运行时会产生错误:
import "fmt"
func main()
{ // 错误,{ 不能在单独的行上
fmt.Println("Hello, World!")
}
-
行分隔符 在 go 程序中,一行代表一个语句结束。每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾,因为这些工作都将由 go 编译器自动完成。 如果将多个语句写在同一行,则必须使用 ; 人为区分,但在实际开发中我们并不鼓励这种做法。
-
打印变量类型用%T
package main
import "fmt"
func main() {
var a int = 4
/* 运算符实例 */
fmt.Printf("第 1 行 - a 变量类型为 = %T\n", a );
}
运行结果:
第 1 行 - a 变量类型为 = int
-
go 没有三目运算符,所以不支持 ?: 形式的条件判断
-
条件判断语句: select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。
-
初始化数组
var numbers [5]int
var numbers = [5]int{1, 2, 3, 4, 5}
numbers := [5]int{1, 2, 3, 4, 5}
如果数组长度不确定:
var numbers := [...]int{1, 2, 3, 4, 5}
numbers := [...]int{1, 2, 3, 4, 5}
- 结构体
type Books struct {
title string
author string
subject string
book_id int
}
- 语言范围
for key, value := range oldMap {
newMap[key] = value
}
for _, value := range oldMap
- 语言切片