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("用户密码错误")
}
}
}