标签:使用 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