go语言 day2
switch 语句###########
switch 1+1 {
case 1:
 fmt.Println("等于1")
case 2:
 fmt.Print("等于2")
default:
 fmt.Print("否则这里")
}
for 语句#########
func xunhuan2(){
 for {
 fmt.Print("死循环")
 }
}
func xunhuan3(){
 var a = 4
 for a>1 {
 fmt.Println("死循环")
 a = a -1
 }
}
func xunhuan4(){
 for i:=1;i<10;i++ {
 fmt.Println("复杂的")
 // i++ -->i= i+1 意义相同
 }
}
######练习
func lianxi1(){
 //猜数字,设定一个理想数字, 让用户输入, 返回 打了或者小了, 正确 就退出
 var num int
 var jg = 55
 for {
 fmt.Print("请输入数字:")
 fmt.Scanln(&num)
 if num > jg {
 fmt.Println("猜的大了")
 }else if num < jg{
 fmt.Println("猜的小了")
 }else{
 fmt.Println("正确")
 break
 }
 }
}
func lianxi2(){
 for i:=1;i<=100;i++{
 fmt.Println(i)
 }
}
func lianxi3(){
 //打印1-10 跳过7
 for i:=1;i<=10;i++{
 if i == 7{
 continue
 }
 fmt.Println(i)
 }
}
func lianxi4(){
 //打印1-10 奇数
 for i:=1;i<=100;i++{
 if i%2==1 {
 fmt.Println(i)
 }
 }
}
func lianxi5(){
 //打印1-10 偶数
 for i:=1;i<=100;i++{
 if i%2==0 {
 fmt.Println(i)
 }
 }
}
func lianxi6(){
 //1-100的和
 var num int
 for i:=1;i<=100;i++{
 num = num + i
 }
 fmt.Println(num)
}
func lianxi7(){
 //10-1的所有整数
 for i:=10;i>=1;i--{
 fmt.Println(i)
 }
}
##########continue (和python 一样)
循环中 关键字 出现 continue . 跳过本次循环
默认 continue 对当前循环有效 
######break(和python一样)
循环中出现关键字break . 跳过后面的所有循环
默认 break 对 当前循环有效
##########标签 配合 continue /break
当给循环增加 标签的时候 
再用 continue 标签 。 或者break 标签的时候 。 就会跳出对应 循环
func bq(){
 f1: for i:=1;i<5;i++{
 fmt.Println(i)
 for a:=10;a>7;a--{
 if a ==9{
 break f1
 }
 fmt.Println(a)
 }
 }
}
输出结果: 1 . 10
#############goto
跳跃到指定的行,然后向下执行代码
func tiao(){
 var name string
 fmt.Print("输入vip:")
 fmt.Scanln(&name)
 if name =="svip"{
 goto SVIP
 }else if name == "vip"{
 goto VIP
 }
 fmt.Println("预约")
VIP:
 fmt.Println("拿号")
SVIP:
 fmt.Println("进入")
}
########字符串格式化
将数据 改为指定格式的 样子
func gsh(){
 var a ="aaa"
 var b = "bbb"
 ret := fmt.Sprintf("第一个是%s,第二个是%s",a,b)
 fmt.Println(ret)
}
#####运算符
跳过
#######作业
用户登系统: 可以有3次 机会; 打印剩余次数;正确登陆;错误 重新输入
func zuoye(){
   zq_user, zq_passwd := "la","onda1478963"
   var inp_user, inp_pass string
   for num:=3;num>0;num-- {
      fmt.Print("请输入用户名: ")
      fmt.Scanln(&inp_user)
      fmt.Print("请输入密码: ")
      fmt.Scanln(&inp_pass)
      if inp_user == zq_user && inp_pass == zq_passwd {
         fmt.Println("登陆成功")
      }else{
         fmt.Println(num-1)
         fmt.Println("用户密码错误")
      }
   }
}
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号