这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天
运算符
算术运算符
var a int = 10
var b int = 10
fmt.Println(a--)//会报错
a++
fmt.Println(a)
关系运算符
逻辑运算符
位运算符
&变量 = 去变量地址符 值&值 = 位运算符
异或 ^ 可以看作按位运算的无进位相加
赋值运算符
其他运算符(指针)
键盘输入输出
func main() {
var x int
var y float64
//fmt.Println() 输出并且换行
//fmt.Printf() 格式化输出
//fmt.Print() 输出
fmt.Println("请输入两个数 1.整数 2.浮点数")1
//变量取地址 &变量
fmt.Scanln(&x, &y)
fmt.Println(x, y)
//fmt.Scanf() //格式化输入
//fmt.Scan()
}
流程控制
if语句
func main() {
var score int = 90
if score >= 90 && score <= 100 {
fmt.Println("A")
if score == 100{
fmt.Println("S")
}
} else if score >= 80 && score < 90 {
fmt.Println("B")
} else {
fmt.Println("C")
}
}
switch语句
func main() {
var score int = 50
switch score {
case 90:
fmt.Println("A")
case 80:
fmt.Println("B")
case 50, 60, 70: //可以多个变量
fmt.Println("C")
default:
fmt.Println("D")
}
}
//switch默认条件 bool = true
switch {
case false:
fmt.Println("flase")
case true:
fmt.Println("true")
default:
fmt.Println("其他")
}
a := false
switch a {
case false:
fmt.Println("flase")
case true:
fmt.Println("true")
default:
fmt.Println("其他")
}
switch能接收任意类型的变量
不用break暂停
可以多个变量,用逗号隔开,匹配一个即可
fallthrough 贯穿
var score int = 90
switch score {
case 90:
fmt.Println("A")
fallthrough
case 80:
fmt.Println("B")
if score == 90{
break
}//用来中止fallthrough
fallthrough
case 50, 60, 70:
fmt.Println("C")
fallthrough
case 40:
fmt.Println("D")
fallthrough
default:
fmt.Println("E")
}
//就是下一句 case 不是后面所有的
for循环
func main() {
for i := 1; i <= 10; i++ {
fmt.Println(i)
}
i := 1
for i <= 10 {
fmt.Println(i)
i++
}
for i := 1; i < 10; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d*%d=%d\t", i, j, i*j)
}
fmt.Println()
}
}
break continue
遍历string
func main() {
str := "hello .lll"
fmt.Println(str)
//获取字符串长度 len
fmt.Println("字符串长度为:", len(str))
//获取指定的字节
fmt.Println("第一个字节打印", str[0])
fmt.Printf("%c\n", str[0])
//for i := 0; i < len(str); i++ {
// fmt.Println(str[i])
// fmt.Printf("%c", str[i])
//}
//for range循环,遍历数组切片
//返回下标和对应的值,使用这个值就可以了
for i, v := range str {
fmt.Println(i)
fmt.Println(v)
//fmt.Printf("%c", v)
}
//string值是不能修改de
}