目录
1.if语句:条件判断
//单分支结构:if 条件 {}
//简单多分支结构: if 条件 {} else {}
//复杂多分支结构: if 条件 {} else if 条件 {} else {}
//使用if语句完成成绩评级
fmt.Println("请录入你的成绩:")
var score float64
fmt.Scan(&score)
if score > 100 || score < 0 {
fmt.Println("成绩录入错误,请重新录入")
} else if score >= 90 {
fmt.Println("A")
} else if score >= 80 {
fmt.Println("B")
} else if score >= 60 {
fmt.Println("C")
} else {
fmt.Println("D")
}
2.switch语句:值匹配
格式:switch 条件 { case 值1: 业务代码1 case 值2: 业务代码2 default 兜底值: 异常处理}
//1.使用switch打印一周计划
fmt.Println("请输入日期:周一->周日")
var week string
fmt.Scan(&week)
switch week {
case "周一", "周二", "周三", "周四", "周五":
fmt.Println("上班")
case "周六", "周日":
fmt.Println("休息")
default:
fmt.Println("输入错误!!!")
}
//2.switch不传值默认是true
switch {
case false:
fmt.Println("false")
case true:
fmt.Println("true")
default:
fmt.Println("Err")
}
/*3.case穿透
fallthrough:case穿透;
break:中止穿透
*/
switch {
case false:
fmt.Println("false")
case true:
fmt.Println("true")
fallthrough
default:
break
fmt.Println("Err")
}
3.for循环
func main() {
//格式: for 初始化语句;条件判断语句;步进表达式{}
//1.打印 1-10 的值
for i := 1; i <= 10; i++ {
fmt.Println(i)
}
//2.打印55方阵
for i := 0; i < 5; i++ {
for i := 0; i < 5; i++ { //两层for循环的i作用域不同,可以这样使用
fmt.Print("*")
}
fmt.Println()
}
//3.打印99乘法表
for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d*%d=%d ", j, i, i*j)
}
println()
}
//4.打印菱形
printLx(15)
//5.死循环
/*
var i int
for {
i++
fmt.Println(i)
}
*/
//6.遍历的三种方式
str := "hello"
for i := 0; i < len(str); i++ {
fmt.Printf("%c\n", str[i])
}
for i := range str {
fmt.Printf("%c\n", str[i])
}
for _, v := range str {
fmt.Printf("%c\n", v)
}
}
// 打印一个n行的菱形
func printLx(line int) {
//1.参数校验:行数不能小于3,行数必须为奇数
if line < 3 {
fmt.Printf("行数不能小于3")
return
} else if line%2 == 0 {
fmt.Println("行数必须为奇数")
return
}
//找到中间行
zjh := line/2 + 1
//2.打印上半部门的三角形:空格数=中间行-当前行,星号数量=2x中间行-1
for i := 1; i < zjh; i++ {
//打印空格
kg := zjh - i
for j := 1; j <= kg; j++ {
fmt.Print(" ")
}
//打印*
xh := 2*i - 1
for k := 1; k <= xh; k++ {
fmt.Print("*")
}
fmt.Println()
}
//3.打印中间行:星号数量=2x中间行-1
xh := 2*zjh - 1
for k := 1; k <= xh; k++ {
fmt.Print("*")
}
fmt.Println()
//4.打印下面的三角形:倒序打印上面的三角形
for i := zjh - 1; i >= 1; i-- {
//打印空格
kg := zjh - i
for j := 1; j <= kg; j++ {
fmt.Print(" ")
}
//打印*
xh := 2*i - 1
for k := 1; k <= xh; k++ {
fmt.Print("*")
}
fmt.Println()
}
}