本篇内容介绍了“如何了解Go语言基础之运算符和流程控制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站专注于徐闻企业网站建设,响应式网站,商城开发。徐闻网站建设公司,为徐闻等地区提供建站服务。全流程按需求定制设计,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
运算符
运算符这个名字听着玄乎,其实我们平常见的很多了,就像=,+,/之类的。
运算符主要分为
算数运算符
关系运算符
逻辑运算符
位运算符
赋值运算符
下面就来简单了解以下叭。
算数运算符
算数运算符顾名思义,主要用在算数中,加减乘除了啥的
简单了解以下叭。
| 运算符 | 描述 |
|---|---|
| + | 相加 |
| - | 相减 |
| * | 相乘 |
| / | 相除 |
| % | 求余 |
| ++ | 自加 |
| -- | 自减 |
关系运算符
| 运算符 | 描述 |
|---|---|
| == | 检查两个值是否相等,如果相等返回 True 否则返回 False |
| != | 检查两个值是否不相等,如果不相等返回 True 否则返回 False |
| > | 检查左边值是否大于右边值,如果是返回 True 否则返回 False |
| >= | 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False |
| < | 检查左边值是否小于右边值,如果是返回 True 否则返回 False |
| <= | 检查左边值是否小于等于右边值,如果是返回 True 否则返回 False |
逻辑运算符
| 运算符 | 描述 |
|---|---|
| && | 逻辑 and 运算符。 如果两边的操作数都是 True,则为 True,否则为 False |
| || | 逻辑 or 运算符。 如果两边的操作数有一个 True,则为 True,否则为 False |
| ! | 逻辑 NOT 运算符。 如果条件为 True,则为 False,否则为 True |
注:逻辑运算符是很重要的,开发中经常用到。
位运算符
位运算符有些底层,特殊情况会用到
| 运算符 | 描述 |
|---|---|
| & | 参与运算的两数各对应的二进位相与。 (两位均为1才为1) |
| | | 参与运算的两数各对应的二进位相或。 (两位有一个为1就为1) |
| ^ | 参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。 (两位不一样则为1) |
| << | 左移n位就是乘以2的n次方。 “a< |
| >> | 右移n位就是除以2的n次方。 “a>>b”是把a的各二进位全部右移b位。 |
赋值运算符
赋值运算符在开发中用的也是比较多的。
| 运算符 | 描述 |
|---|---|
| = | 简单的赋值运算符,将一个表达式的值赋给一个左值 |
| += | 相加后再赋值 |
| -= | 相减后再赋值 |
| *= | 相乘后再赋值 |
| /= | 相除后再赋值 |
| %= | 求余后再赋值 |
| <<= | 左移后赋值 |
| >>= | 右移后赋值 |
| &= | 按位与后赋值 |
| |= | 按位或后赋值 |
| ^= | 按位异或后赋值 |
流程控制
在Go中,流程控制有以下几种。
if
if
switch case
for
标准for
forrange
goto(慎用)
if
语法
//方式一,一个ifif 条件{ //执行语句}//方式二,if条件不成功执行elseif 条件{ //if成功语句}else{ //if不成功语句}//方式三,带有else if得if 条件1{ //if成功语句}else if 条件2{ //if不成功,继续else if条件}else{ //上面都不成功,执行else} 例子
package mainimport "fmt"func main() {var gender = "男"if gender == "男" {fmt.Println("男")} else if gender == "女" {fmt.Println("女")} else {fmt.Println("啥都不是???")}}
switch case
switch case和if本质是一个东西,但是在某些场景,switch是比if更加简洁的。
代码
package mainimport "fmt"func main() {var week = 3switch week {case 1:fmt.Println("周一")case 2:fmt.Println("周二")case 3:fmt.Println("周三")case 4:fmt.Println("周四")case 5:fmt.Println("周五")case 6:fmt.Println("周六")case 7:fmt.Println("周日")default://如果上面都没执行,会执行defaultfmt.Println("星期八????")}}
注:在Go中,switch是没有case穿透的。
Go的switch可以case多个值。
package mainimport "fmt"func main() {var week = 3switch week {case 1, 2, 3, 4, 5:fmt.Println("上班")case 6:fmt.Println("周六睡懒觉")case 7:fmt.Println("周日去旅游")default:fmt.Println("飞天了???")}}
for
标准for循环
语法
for 初始条件;判断条件;结束条件{ 语句} 代码
package mainimport "fmt"func main() {for i := 0; i < 10; i++ {fmt.Println(i)}}
无限循环
谨慎执行!!!
package mainimport "fmt"func main() {for{fmt.Println("666")}}
for range
for ragne可以很方便循环数组,切片,字符串,map,channel等。
遍历数组示例
package mainimport "fmt"func main() {var student_list = [...]string{"张三", "李四", "王五"}for index, v := range student_list {//index为下标,v是每一个的值fmt.Println(index, v)}}
注:
如果数组,切片,字符串 index是下标,v是值如果是map index是键,v是对(值)如果是通道 只有一个值,就是通道内的值
补充:
在Go中,只有for循环,没有while。
for循环就两种方式。
goto
goto可以通过标签在代码间无条件跳转,这就造成了一个局面,如果使用gote过多,会造成逻辑混乱,跳来跳去。
所以,在开发中,要慎用,不到万不得已,不要使用。
示例
package mainimport "fmt"func main() {for i := 0; i < 10; i++ {for j := 0; j < 10; j++ {if j == 2 {// 直接跳转到下面的 breakTag 标签goto breakTag}fmt.Printf("%v-%v\n", i, j)}}//要跳转的标签breakTag:fmt.Println("结束for循环")
}
“如何了解Go语言基础之运算符和流程控制”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
网站标题:如何了解Go语言基础之运算符和流程控制
文章位置:http://www.jxjierui.cn/article/podjco.html


咨询
建站咨询
