Golang------基础内容
一、条件语句1.1 格式1.1.1 例 1.2 多重判断1.3 嵌套 二、Switch三、for循环3.1 continue3.2 break3.3 打标签 四、goto五、字符串格式化六、运算符6.1 算术运算符6.2 关系运算符6.3 逻辑运算符6.4 位运算符6.5 赋值运算符6.6 运算符的优先级一、条件语句
1.1 格式
if 条件 {成立,则执行此行代码} else {不成立,则执行此行代码}
if 条件 {成立,则执行此行代码}
1.1.1 例
package mainimport "fmt"func main() {if 1 < 2 {//if后面可以跟条件(不等式等)、变量、布尔fmt.Println("666")} else {fmt.Println("999")}if 1 > 2 {fmt.Println("666")} else {fmt.Println("999")}}---------------------------------------------------------------------------------------------666999
练习题1:用户输入姓名,判断是否正确
package mainimport "fmt"func main() {var name stringfmt.Print("请输入姓名: ")fmt.ScanLn(&name)if name == "alex" {//多条件判断使用:&&(且)、||(或)fmt . PrintLn("用户名输入正确")} eLse {fmt . PrintLn("用户名输入错误")}}//多条件判断使用:&&(且)、||(或)
1.2 多重判断
if 条件A {...} else if 条件B {...} else if 条件C {...} else if ... {...}
package mainimport "fmt"func main() {var score intfmt.Print("请输入你的分数:")fmt.Scanln(&score)if score >= 90 {fmt.Println("优秀")}else if score < 90 && score >= 80 {fmt.Println("良好")} else {fmt.Println("差劲")}}---------------------------------------------------------------------------------------------请输入你的分数:95优秀请输入你的分数:83良好请输入你的分数:56差劲
1.3 嵌套
package mainimport "fmt"func main() {fmt.Println("欢迎致电18086, 1.话费相关; 2.业务办理; 3.人工服务。")var number intfmt.ScanLn(&number)if number == 1 {fmt.Println("话费服务,1.交话费; 2.查询。")var n1 intfmt.ScanLn(&n1) if n1==1 {//在if条件语句中再嵌套一个if条件语句fmt.Println("请输入缴纳花费金额:")} else if n1==2 {fmt.PrintLn("正在查询,请稍等")} else {fmt. Println("输入错误")} } eLse if number == 2 {...} eLse if number == 3 {...} eLse {fmt. Println("输入错误)}
二、Switch
package mainimport "fmt"func main() {var age intfmt.Println("请输入年龄:")fmt.Scan(&age)switch age {case 17:fmt.Println("等于1")case 18:fmt.Println("等于2")case 19:fmt.Println("等于3")default:fmt.Println("都不满足")}}----------------------------------------------------------------------------------------请输入年龄:18等于2
三、for循环
time.Sleep(time.Second * 1) //输出停顿一秒
package mainimport "fmt"func main() {fmt.Println("开始")number := 1for number < 5 {fmt.Println("hhhhhhhhh")number = number + 1}fmt.Println("4")}----------------------------------------------------------------------------------------开始hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh4
package mainimport "fmt"func main() {fmt.Println("开始")for i:=1;i<5; {//变量&条件fmt.Println("hhhhhhhhh")i = i + 1}fmt.Println("4")}----------------------------------------------------------------------------------------开始hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh4
package mainimport "fmt"func main() {fmt.Println("开始")for i:=1;i<5;i=i+1{//i++//变量&条件&变量赋值fmt.Println("hhhhhhhhh")}fmt.Println("4")}----------------------------------------------------------------------------------------开始hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh4
3.1 continue
continue:在for循环中使用,当遇到continue时,会停止当前循环,开始下一次循环
package mainimport ("fmt""time")func main() {for {fmt.Println("八百标兵奔北坡")continue//使用continue,则后面的不再执行,然后进入下一个循环fmt.Println("炮兵并排北边跑")//不执行time.Sleep(time.Second * 1)//不执行}}---------------------------------------------------------------------------------八百标兵奔北坡八百标兵奔北坡八百标兵奔北坡八百标兵奔北坡八百标兵奔北坡八百标兵奔北坡...死循环
#使用循环输出1 2 3 4 5 6 8 9 (1-9中7以外的整数)package mainimport "fmt"func main() {for i:=1;i<10;i++{if i==7 {continue#在i为7时跳出循环,不输出7}fmt.Println(i)}}---------------------------------------------------------------------------------12345689
3.2 break
break:在for循环中使用,遇到break时会跳出循环
package mainimport ("fmt""time")func main() {for {fmt.Println("八百标兵奔北坡")break//直接跳出循环,此次循环下面的内容不再执行,之后的循环也不再执行fmt.Println("炮兵并排北边跑")time.Sleep(time.Second * 1)}}---------------------------------------------------------------------------------八百标兵奔北坡
3.3 打标签
package mainimport "fmt"func main() {for i:=1;i<3;i++ {for j:=1;j<5;j++ {if j==3 {continue}fmt.Println(i,j)}}}---------------------------------------------------------------------------------1 11 21 42 12 22 4=================================================================================package mainimport "fmt"func main() {f1:for i:=1;i<3;i++ {//给这个for循环打上f1的标签for j:=1;j<5;j++ {if j==3 {continue f1//中止fi当前循环,进入下一个循环}fmt.Println(i,j)}}}---------------------------------------------------------------------------------1 11 22 12 2
package mainimport "fmt"func main() {for i:=1;i<3;i++ {for j:=1;j<5;j++ {if j==3 {break}fmt.Println(i,j)}}---------------------------------------------------------------------------------1 11 22 12 2=================================================================================package mainimport "fmt"func main() {f1:for i:=1;i<3;i++ {for j:=1;j<5;j++ {if j==3 {break f1//直接跳出标签f1的循环,后面的也不再循环}fmt.Println(i,j)}}}---------------------------------------------------------------------------------1 11 2
四、goto
跳跃到指定的行,然后向下执行代码
package mainimport "fmt"func main() {var name stringfmt.Print("请输入姓名:")fmt.Scanln(&name)if name == "x" {goto SVIP} else if name == "y" {goto VIP}fmt.Println("需要预约")VIP:fmt.Println("需要等桌")SVIP:fmt.Println("进入包厢")}---------------------------------------------------------------------------------请输入姓名:x进入包厢---------------------------------------------------------------------------------请输入姓名:y需要预约需要等桌---------------------------------------------------------------------------------请输入姓名:a需要预约需要等桌进入包厢
五、字符串格式化
将数据格式化成为特定格式的字符串时,可以使用字符串格式化。
package mainimport "fmt"func main() {var name stringvar age,score intfmt.Println("请输入姓名:")fmt.Scanln(&name)fmt.Println("请输入年龄:")fmt.Scanln(&age)fmt.Println("请输入分数:")fmt.Scanln(&score)result:=fmt.Sprintf("我叫%s,我今年%d岁,我考了%d分",name,age,score )fmt.Println(result )}---------------------------------------------------------------------------------请输入姓名:xyw请输入年龄:20请输入分数:98我叫xyw,我今年20岁,我考了98分
六、运算符
6.1 算术运算符
6.2 关系运算符
6.3 逻辑运算符
6.4 位运算符
按位运算指的是二进制之间的运算
5 --> 000010199 --> 1100011与: 0000001
5 --> 000010199 --> 1100011或: 1100111
5 ---> 000010199 ---> 1100011异或: 1100110
5 << 25 ------> 101向左移动两位 10100 ------>20
5 >> 15 ------> 101向右移动一位 10 ------>2//最右边的那位会消除掉
5 ------> 000010199 ------> 1100011//只有最后一位都为1比较清除: 0000100//将5的二进制基准上将最后一位改为0