如何了解Go语言基础之运算符和流程控制
发表于:2025-01-30 作者:千家信息网编辑
千家信息网最后更新 2025年01月30日,本篇内容介绍了"如何了解Go语言基础之运算符和流程控制"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2025年01月30日如何了解Go语言基础之运算符和流程控制
switch case
for
无限循环
for range
本篇内容介绍了"如何了解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 main
import "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 main
import "fmt"
func main() {
var week = 3
switch 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://如果上面都没执行,会执行default
fmt.Println("星期八????")
}
}
注:在Go中,switch
是没有case穿透的。
Go的switch
可以case
多个值。
package main
import "fmt"
func main() {
var week = 3
switch week {
case 1, 2, 3, 4, 5:
fmt.Println("上班")
case 6:
fmt.Println("周六睡懒觉")
case 7:
fmt.Println("周日去旅游")
default:
fmt.Println("飞天了???")
}
}
for
标准for循环
语法
for 初始条件;判断条件;结束条件{ 语句}
代码
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
}
}
无限循环
谨慎执行!!!
package main
import "fmt"
func main() {
for{
fmt.Println("666")
}
}
for range
for ragne
可以很方便循环数组,切片,字符串,map,channel等。
遍历数组示例
package main
import "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 main
import "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语言基础之运算符和流程控制"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
运算
运算符
条件
逻辑
成功
二进位
循环
检查
语句
流程
控制
右边
方式
代码
就是
数组
标签
开发
基础
语言
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
医院病人信息管理系统数据库
你画我猜玩法链接服务器
编程软件开发学习
争当网络安全小卫士活动方案
软件开发职业规划管理
vivo手机软件开发
服务器为什么只有一个地方启动
爱刮刮网络技术有限公司电话
浙江服务器机柜哪家优惠
江苏苏州零件加工管理软件开发
好用的医院数据库
融媒体发展对网络技术人员的要求
江苏网络led大屏服务器
服务器中了勒索病毒可以报警吗
栅格网络技术
上海数据库监控
开放大学计算机网络技术毕业总结
excel合并替换数据库
软件开发流程是怎样的
lfw人脸数据库
临床科研数据库论文
怎样学手机软件开发
数据库日志和日期
天天板报网网络安全手抄报
53家网络安全企业
上海珍撰网络技术有限公司
网络技术未来理想
安徽天驱企业级服务器虚拟主机
关系型数据库oracle
嘉定区制造软件开发成本