package main
import (
"fmt"
)
func main() {
fmt.Printf("假:%v", 0)
fmt.Println("真:", 1)
fmt.Println("真:", 1)
fmt.Printf("假:%v", 0)
//fmt.Printf()与fmt.Println()的区别:
/********
1.printf中需要给显示的值赋类型,如fmt.Printf("%v",a),Println不需要,如fmt.Println(a)
2.printf中显示在一行,换行需要添加\n,一条Println就是一行
*******/
a, b, c, d, e, f := true, false, 1, 2, 3, 10
//ifelse语句
//注意点:左花括号与ifelse同一行 else与if的右花括号在同一行
if a {
fmt.Println("\n真:", c)
}
if !a {
fmt.Println("真:", d)
} else if b {
fmt.Println("假:", e)
} else {
fmt.Println("其他:", f)
}
//switch语句
//case 单个时候,正常一样,case多个时候,使用逗号隔开
switch d {
case 1:
fmt.Println("值:", d)
break
case 2, 3, 4:
fmt.Println("值:", d)
break
default:
break
}
//for循环
//注for循环中的c与上面定义的c不是一个,此处的c是循环的条件,是重新初始化的
for c := 0; c < f; c++ {
fmt.Println("c的值为:", c)
}
fmt.Println("c的值1为:", c)
//for循环的嵌套
n := 5
for i := 1; i <= n; i++ {
for j := 1; j <= n-i; j++ {
fmt.Printf(" ")
}
for j := 1; j <= i; j++ {
fmt.Printf("*")
}
fmt.Printf("\n")
}
for i := n; i >= 1; i-- {
for j := 1; j <= n-i; j++ {
fmt.Printf(" ")
}
for j := 1; j <= i; j++ {
fmt.Printf("*")
}
fmt.Printf("\n")
}
//使用for循环打印菱形
maxRows := 9
//打印上半部分
for i := 1; i < maxRows; i++ {
//控制要打印的空格数
for j := 1; j < maxRows-i; j++ {
fmt.Printf(" ")
}
//控制要打印的星号数
for k := 1; k <= 2*i-1; k++ {
fmt.Printf("*")
}
fmt.Printf("\n")
}
//打印下半部分
for i := 1; i <= maxRows-2; i++ {
//控制要打印的空格数
for j := 1; j <= i; j++ {
fmt.Printf(" ")
}
//控制要打印的星号数
for k := 1; k <= (maxRows-i)*2-3; k++ {
fmt.Printf("*")
}
fmt.Printf("\n")
}
fmt.Println("c,d的值为:", c, d)
//函数的调用
m := getMax(c, d)
fmt.Println("c,d之间的最大值为:", m)
//函数的调用
p, q := getChange(c, d)
fmt.Println("c,d之间的最大值为:", p, q)
}
//函数
//func 函数名(参数1,参数2) 返回类型
//得到两个数的最大值
func getMax(a, b int) int {
var result int
if a > b {
result = a
} else {
result = b
}
return result
}
//互换值
func getChange(a, b int) (int, int) {
return b, a
}