golang入门实例分析(二)

7.{}的使用

//正确用法
if(){
}

//错误用法
if()
{
}

8.输入数据函数

fmt.Scan(&s)

9.golang没有while

10.switch的两种用法

func main() {
	var grade string = "B"
	var mark int = 90
	switch mark {
	case 90:
		grade = "A"
		fallthrough
	case 80, 91:
		grade = "B"
	case 70:
		grade = "C"
	default:
		grade = "D"
	}

	switch {
	case grade == "A":
		fmt.Println("优秀")
	case grade == "B":
		fmt.Println("良好")
	case grade == "C":
		fmt.Println("及格")
	case grade == "D":
		fmt.Println("不及格")
	default:
		fmt.Println("差")
	}
	fmt.Println(grade)
}

分析:golang的switch默认只执行一个case,如果想执行下面的case,可以加上fallthrough,强制执行下面的case,即使case是false

11.for-each-range循环的使用

func main() {
	strings:=[]string{"google","asd"}
	for i,s :=range strings{
		fmt.Println(i,s)
	}
	numbers:=[6]int{1,2,3,4}
	for i,n:=range numbers{
		fmt.Println(i,n)
	}
}

分析:i为下标,n和s为元素值

12.闭包

func main() {
	f:=fa()
	fmt.Println(f());
	fmt.Println(f());
	fmt.Println(f());
}
func fa() func() int {
	i:=0;
	return func() int {
		i++
		return i
	} 
}

分析:闭包是为了共享函数的变量

你可能感兴趣的:(培训)