if a< 5 {
return
0
} else {
return
1
}
需要主要以下几点:
(1)条件语句不需要使用括号将条件包含起来;
(2)无论语句体内有几条语句,花括号{}都是必须存在的;
(3)在if之后,条件语句之前,可以添加变量初始化语句,使用;间隔;
(4)在有返回值的函数中,不允许将最终的return语句包含在if…else…结构中;
switch i {
case
0:
fmt.Printf(“0”)
case
1:
fallthrough
case
2, 3, 4:
fmt.Printf(“4,
5, 6”)
case
5<=i && i<=9:
fmt.Printf(“7-9”)
default:
fmt.Printf("Default")
}
需要主要以下几点:
(1)在单个case中,可以出现多个结果选项;
(2)go语言不需要break来明确退出一个case;
(3)只有在case中明确添加fallthrough关键字,才会继续执行紧跟的下一个case;
sum := 0
for i=0; i<10; i++ {
sum
+= i
if
sum > 10 {
break JLoop
}
if sum > 5 {
goto End
}
}
JLoop:...
End:...
copy():copy(mySlice1, mySlice2);
delete():delete(myMap, “1234”);
panic():当一个函数执行过程中调用panic()函数时,正常的函数执行流程将立即终止;
recover():用于终止错误处理流程;
备注:
(1)小写字母开头的函数只在本包内可见,大写字母开头的函数才能被其他包使用;
(2)不定参数是指函数传入的参数个数为不定数量:fun myfunc(args …int),func Printf(format string, args …interface{})任意类型;
(3)匿名函数是指不需要定义函数名的一种函数实现方式如func (a, b int) bool{return true};
(4)对于大多数函数,如果要返回错误,可以将error作为多种返回值中的最后一个,但这不是强制要求;
(5)defer语句的调用时遵照先进后出的原则,即最后一个defer语句将最先被执行;