bleer

欢迎你来到我的空间哦~

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

 

if控制语句

说明:(1)if后面的条件语句不用加括号

(2)if后面可以跟一个简单的初始化语句,并以分号分割,初始化语句中的变量的作用域是整个if语句块

(3)if语句的条件语句需要尽量简单

(4)go语言没有条件运算语句(例如,a>b?1:0)

package main

import (
	"fmt"
)

func main() {

	b := 10
	if a := 10; a < b {
		fmt.Println("a < b")
	} else if a == b {
		fmt.Println("a == b")
	} else {
		fmt.Println("a > b")
	}
}

 

switch控制语句

fallthrough的作用:不再判断下一个case(注意是下一个,不是下面所有的case子句

package main

import "fmt"

func main() {

	switch letter := 'y'; letter {
	case 'y', 'Y':
		fmt.Println("yes")
		fallthrough
	case 'n', 'N':
		fmt.Println("no")
	case 'a', 'A':
		fmt.Println("all")
	}
}

 

运行结果

package main

import "fmt"

func main() {

	switch letter := 'y'; letter {
	case 'y', 'Y':
		fmt.Println("yes")
		fallthrough
	case 'n', 'N':
		fmt.Println("no")
	case 'a', 'A':
		fmt.Println("all")
	}
}

  

switch语句中,default可以放在任意位置,不影响处理逻辑

举例

	switch letter := 'h'; letter {
	default:
		fmt.Println("default")
	case 'y', 'Y':
		fmt.Println("yes")
		fallthrough
	case 'n', 'N':
		fmt.Println("no")
	case 'a', 'A':
		fmt.Println("all")
	}

运行结果

default
成功: 进程退出代码 0.

  

 

for循环控制语句

go语言中只有1种循环,那就是for

// 数组类型控制的for循环
func for_array() {
	arr := [4]int{1, 2, 3}
	for idx := range arr {
		fmt.Println(arr[idx])
	}
}

  

//切片类型控制的for循环
func for_slice() {
	arr := [...]int{1, 2, 3, 4, 5, 6}
	sli := arr[4:]
	for idx := range sli {
		fmt.Println(sli[idx])
	}
}

 

// make切片控制的for循环
func for_slice2() {
	sli := make([]int, 3)
	sli[0] = 1
	sli[1] = 2
	for idx := range sli {
		fmt.Println(sli[idx])
	}
}

运行结果:

1

2

0

成功: 进程退出代码 0.

 

// map控制的for循环
func for_map() {
	student_list := map[string]int{"name_a": 1, "name_b": 2, "name_c": 3}

	for k, _ := range student_list {
		fmt.Println(k)
	}
	for _, v := range student_list {
		fmt.Println(v)
	}
	for k, v := range student_list {
		fmt.Println(k, v)
	}
}

  

posted on 2019-03-22 12:19  bleer  阅读(114)  评论(0编辑  收藏  举报