go语言运算教学 go语言运行原理

Golang入门到项目实战 | golang中的if语句go语言中的if语句和其他语言中的类似,都是根据给定的条件表达式运算结果来,判断执行流程 。
注意:在go语言中 布尔表达式不用使用括号 。
根据布尔值flag判断
程序运行结果
初始变量可以声明在布尔表达式里面 , 注意它的作用域
程序运行结果
注意:不能使用0或非0表示真假
go语言if语句使用提示:
go语言中的if else语句可以根据给定条件二选一 。
比较两个数的大小
运行结果
判断一个数是奇数还是偶数
运行结果
判断一个人是否成年
运行结果
特殊写法,在if前面添加执行语句
运行结果
go语言if语句使用提示:
go语言if语句可以进行多重嵌套使用,进行多重判断 。
根据分数判断等级
运行结果
同样也可以写成这样
运行结果
输入星期几的第一个字母来判断一下是星期几 , 如果第一个字母一样,则继续判断第二个字母
运行结果
go语言if语句可以嵌套多级进行判断 。
判断三个数的大小
运行结果
判断男生还是女生,还有是否成年
运行结果
【10】Go语言运算符及运算符的优先级 运算符用于在程序运行时执行数学或逻辑运算 。
1.算术运算符
Go 语言的算术运算符如图,假设A值为10,B值为20 。
2.关系运算符
Go 语言的关系运算符如图 , 假设A值为10 , B值为20 。
3.逻辑运算符
Go 语言的逻辑运算符如图 。假定A值为True,B值为False 。
4.位运算符
位运算符对整数在内存中的二进制位进行操作 。
位运算符比一般的算术运算符速度要快,而且可以实现一些算术运算符不能实现的功能 。如果要开发高效率程序,位运算符是必不可少的 。
Go 语言的位运算符如图 。假定 A = 60,B = 13,其二进制数转换如下 。
A = 0011 1100
B = 0000 1101
5.赋值运算符
Go 语言的赋值运算符如图 。
6.其他运算符
Go 语言的其他运算符如图 。
运算符的优先级
所谓优先级,就是当多个运算符出现在同一个表达式中时,先执行哪个运算符 。
Go语言”奇怪用法“有哪些1 , gogo语言运算教学的变量声明顺序是go语言运算教学:”先写变量名,再写类型名“,此与C/C的语法孰优孰劣,可见下文解释:
2,go是通过package来组织的(与python类似),只有package名为main的包可以包含main函数 , 一个可执行程序有且仅有一个main包 , 通过import关键字来导入其他非main包 。
3,可见性规则 。go语言中,使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包含调用 。根据约定,函数名首字母小写即为private , 函数名首字母大写即为public 。
4,go内置关键字(25个均为小写) 。
5,函数不用先声明,即可使用 。
6 , 在函数内部可以通过 := 隐士定义变量 。(函数外必须显示使用var定义变量)
7,go程序使用UTF-8编码的纯Unicode文本编写 。
8,使用big.Int的陷阱:
9 , 从技术层面讲,go语言的语句是以分号分隔的,但这些是由编译器自动添加的 , 不用手动输入,除非需要在同一行中写入多个语句 。没有分号及只需少量的逗号和圆括号,使得go语言的程序更容易阅读 。
10,go语言只有一个循环结构——for循环 。
11,go里的自增运算符只有——“后”
12,go语言中的slice用法类似python中数组 , 关于slice的详细用法可见:
13,函数也是一个值,使用匿名函数返回一个值 。
14 , 函数闭包的使用,闭包是一个匿名函数值,会引用到其外部的变量 。
go语言操作符 ^ 和 &^很多语言都是采用 ~ 作为按位取反运算符go语言运算教学,Go 里面采用go语言运算教学的是 ^。
如果作为二元运算符 , ^ 表示按位异或,即:对应位相同为 0,相异为 1 。
操作符 ^ , 按位置零,例如:z = x ^ y,表示如果 y 中的 bit 位为 1 , 则 z 对应 bit 位为 0,否则 z 对应 bit 位等于 x 中相应的 bit 位的值 。
对于有符号的整数来说,是按照补码进行取反操作的(快速计算方法:对数 a 取反,结果为 -(a 1) ) , 对于无符号整数来说就是按位取反
计算过程
以3为例3在内存中补码为 0*** 0011
取反1*** 1100
-1操作1*** 1011
除符号位取反1*** 0100 结果为-4
-------------------------------------------
以9为例 9在内存中补码为 0*** 1001
取反1*** 0110
-1操作1*** 0101
除符号位取反1*** 1010 结果为-10
-------------------------------------------
以-5为例 -5在内存中为的补码为 1*** 1011
为什么呢
-5源码1*** 0101
除符号取反1*** 1010
1操作1*** 1011
-------------------------------------------
那么-5取反怎么算
补码 1***1011取反为 0***0100
因为符号位为0 , 所以是正数go语言运算教学了,正数的补码反码源码都是一个,所以是4
===================================
再看-1
-1源码1*** 0001
除符号取反1*** 1110
1操作1*** 1111
补码 1*** 1111 取反为 0*** 0000
因为符号位为0,所以是正数了 , 正数的补码反码源码都是一个,所以是0
go语言取反输出的例子看这里
Go语言基础语法(一)本文介绍一些Go语言的基础语法 。
先来看一个简单的go语言代码:
go语言的注释方法:
代码执行结果:
下面来进一步介绍go的基础语法 。
go语言中格式化输出可以使用 fmt 和 log 这两个标准库,
常用方法:
示例代码:
执行结果:
更多格式化方法可以访问中的fmt包 。
log包实现了简单的日志服务,也提供了一些格式化输出的方法 。
执行结果:
下面来介绍一下go的数据类型
下表列出了go语言的数据类型:
int、float、bool、string、数组和struct属于值类型,这些类型的变量直接指向存在内存中的值;slice、map、chan、pointer等是引用类型,存储的是一个地址 , 这个地址存储最终的值 。
常量是在程序编译时就确定下来的值,程序运行时无法改变 。
执行结果:
执行结果:
Go 语言的运算符主要包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符以及指针相关运算符 。
算术运算符:
关系运算符:
逻辑运算符:
位运算符:
赋值运算符:
指针相关运算符:
下面介绍一下go语言中的if语句和switch语句 。另外还有一种控制语句叫select语句,通常与通道联用 , 这里不做介绍 。
if语法格式如下:
if ... else :
else if:
示例代码:
语法格式:
另外,添加 fallthrough 会强制执行后面的 case 语句 , 不管下一条case语句是否为true 。
示例代码:
执行结果:
【go语言运算教学 go语言运行原理】下面介绍几种循环语句:
执行结果:
执行结果:
也可以通过标记退出循环:
--THE END--
go语言运算教学的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于go语言运行原理、go语言运算教学的信息别忘了在本站进行查找喔 。

    推荐阅读