命名篇
1.Go的函数、变量、常量、自定义类型、包(Package)的命名方式遵循以下规则:
1)首字符可以是任意的Unicode字符或者下划线
2)剩余字符可以是Unicode字符、下划线、数字
3)字符长度不限
2.Go只有25个关键字
3.Go还有37个保留字
Constants: | true false iota nil |
Types: | int int8 int16 int32 int64 |
uint uint8 uint16 uint32 uint64 uintptr | |
float32 float64 complex128 complex64 | |
bool byte rune string error |
Functions: | make len cap new append copy close delete |
complex real imag | |
panic recover |
4.可见性
1)声明在函数内部,是函数的本地值,类似private
2)声明在函数外部,是对当前包可见(包内所有.go文件都可见)的全局值,类似protect
3)声明在函数外部且首字母大写是所有包可见的全局值,类似public
5.命名风格
对本地变量,Go倾向于使用简短的命名方式,例如for循环中的i。变量的作用域越大,那变量的命名就要更有意义,例如RingCache。
Go变量建议使用驼峰命名法,例如parseRequest。缩写短语要么全部大写,要么全部小写。例如htmlEscape,HTMLEscape。
声明篇
有四种主要声明方式:var, const, type ,func(后续文章会详细介绍)。
Go的程序是保存在多个.go文件中,文件的第一行就是package XXX声明,用来说明该文件属于哪个包(package),package声明下来就是import声明,再下来是无关吮吸的类型,变量,常量,函数的声明。例如下面这个程序声明了一个常量、一个函数、一些变量
package main import "fmt" const boilingF = 212.0 func main() { var f = boilingF var c = (f - 32) * 5 / 9 fmt.Printf("boiling point = %g°F or %g°C\n", f, c) // 输出: // boiling point = 212°F or 100°C }
常量boillingF是包内可见的变量(就像函数main一样),f和c就是main函数的本地变量,只对main函数可见。如果一个变量是包内可见的,不仅仅当前的.go文件可见而且包内的所有.go文件都是可见的。
函数声明包含一个函数名,参数列表, 返回值列表和函数体。如果函数没有返回值,则返回列表可以省略。函数从第一条语句开始执行,直到执行return语句或者执行函数的最后一条语句。在下面的代码中,main函数调用了fToC函数两次,声明了两个本地的常量
package main import "fmt" func main() { const freezingF, boilingF = 32.0, 212.0 fmt.Printf("%g°F = %g°C\n", freezingF, fToC(freezingF)) // "32°F = 0°C" fmt.Printf("%g°F = %g°C\n", boilingF, fToC(boilingF)) // "212°F = 100°C" } func fToC(f float64) float64 { return (f - 32) * 5 / 9 }
有疑问加站长微信联系(非本文作者)