标签:使用 os for ar 代码 amp type ad
1、:=是不能用在函数外,如果要声明全局变量请用关键字var。
2、常量是
const Name = value
3、如果变量要声明类型:
xxx int:=1;
4、布尔值的类型为bool,值是true或false,默认为false。
5、GO语言的变量类型转换必须是显示转换,也就是要有相关的代码。
6、文本和其它类型不能直接通过+相连,要先转换类型。
7、GO语言的变量可以以组为单位申请
var( i int pi float32 prefix string )
8、大写字母开头的变量是可导出的,也就是其它包可以读取的,是公用变量;小写字母开头的就是不可导出的,是私有变量。
大写字母开头的函数也是一样,相当于class中的带public关键词的公有函数;小写字母开头的就是有private关键词的私有函数。
9、数组这样声明:
var arr [n]type
10、动态数组用slice声明
11、if的条件是不加括号的
12、在名字的尾部加个冒号代表标签,然后可以用goto跳到:
here: goto here
13、for的写法:
for index:=0; index < 10 ; index++ { sum += index }
14、类似while的语法:
sum := 1 for sum < 1000 { sum += sum }
15、GO语言是可以返还多个值:
func SumAndProduct(A, B int) (int, int) { return A+B, A*B }
16、指针用法
//简单的一个函数,实现了参数+1的操作 func add1(a *int) int { // 请注意, *a = *a+1 // 修改了a的值 return *a // 返回新值 } func main() { x := 3 fmt.Println("x = ", x) // 应该输出 "x = 3" x1 := add1(&x) // 调用 add1(&x) 传x的地址 fmt.Println("x+1 = ", x1) // 应该输出 "x+1 = 4" fmt.Println("x = ", x) // 应该输出 "x = 4" }
17、使用关键字defer可以使程序先跳过等到执行完再返回执行
func ReadWrite() bool { file.Open("file") defer file.Close() if failureX { return false } if failureY { return false } return true }
18、如果有很多调用defer,那么defer是采用后进先出模式,所以如下代码会输出4 3 2 1 0
标签:使用 os for ar 代码 amp type ad
原文地址:http://my.oschina.net/tbaby/blog/298782