Go之路(九):流程控制

流程控制

 

主要说一下switch

练习1:

写一个程序猜数字

package main

import(
	"fmt"
	"math/rand"
)

func main(){
	var a int
	a = rand.Intn(100)
	var b int
	
	for {
		fmt.Scanf("%d/n", &b)
		flag := false
		switch {
		case a == b:
			fmt.Println("bingo")
			flag = true
		case b > a:
			fmt.Println("bigger")
		case b < a:
			fmt.Println("less")
		}
		if flag{
			break
		}
	}
}

  1.Scanf这里第一个参数是格式化字符串,d代表整数,s代表字符串,后面是分隔符,默认是使用空格

  2.如果用默认的话会打印两次,因为会把回车也算入里面,用/n作为分隔符即可解决

 

练习2:

package main

import(
	"fmt"
	
)

func main(){
	for i := 0; i<=5; i++{
		for ii := 0; ii<=i;ii++{
			fmt.Print("A")
		}
		fmt.Println()
	}
}

 

for range

package main

import(
	"fmt"
	
)

func main(){
	str := "hello world , 中国"
	for index, value := range str{
		fmt.Printf("index[%d], value[%c], len=%d\n",index, value , len([]byte(string(value))))
	}
}

  

 

posted @ 2018-12-01 19:00  __Miracle  阅读(101)  评论(0)    收藏  举报