Go基本语法
定义临时变量
赋值运算符
复合运算
表达式 右边表达式
何为表达式?
任何有值的都看作表达式 任何函数都是表达式
面试题:
将a b 进行交换 临时变量 不允许使用临时变量
你应该如何做?
原先a=10 b=20 必须输出a=20 b=10
b=a+b-b
a=a+b-a
定义a 使a=a+b
结果输出: 输出成功。
运算符
逻辑运算符
赋值运算符
位移运算符
逗号
括号
单目运算
关系运算符
括号++ --
算数运算符
三木运算符的写法
if i>j{
n=i}else{
n=j}
fmt.PrintLn
三个数最大值
进行两次if else 运算
进制
二进制 0 1
不能表示一个数 沿用了c的特点
%b 二进制 %cunicode编码 %d十进制 %o八进制 %x十六进制 %U表示为unicode格式
十进制
十六进制 不区分大小写
前两位以0-9开头以及A-F开头
八进制转十进制
计算题 规则每个位上的属提取出来乘以8的位数减一
讲0123专程十进制
16进制转10进制
0x34A =101+416+3*16=10+64+768=842
二进制转16进制
每四位一组 转成对应的16进制尽可
反码补码源码
0表示正数 1表示负数
计算机没有负数 以补码方式进行
面试题
位运算的思考题?
<<
计算值不用十进制 适合电子的高地位实现
1.二进制最高位是0表示正数 1表示负数 首位表示符号位
2.正数的源码 反码 补码都一样
3.负数的反码等于源码取反
4.负数的补码等于反码加1
5.0的反码补码都是0
6.计算机运算是以补码方式进行的
控制流程
顺寻控制
流程控制
分支控制
编写一个程序 如果姚明大于18岁 计算机输出 大于18岁 要对自己的行为负责
需求已经告诉你了 这是人的语言 用计算机的语言怎么办?
分析:
1.年龄 变量保存
2.接受一个年龄 和保存的变量 3
3.用我们的一个函数接受变量 提示一句话 等同于require的提示 细节!!!!
4.if判断
需求告诉你了 你实现吧
条件反射 的刺激和积累
用我们的函数实现 接受函数
if判断
流程图画出来
单分支流程图:
所谓流程图 就是图形表示程序执行的流程 更加清晰。
编程思想没有建立起来 就画出流程图
箭头描述
条件<>
双分支流程图
只会执行一个 不能两个都执行
练习:生命两个 如果大于50 打印
多分枝表达式
switch
default不是必须的 case中可以判断范围