狂神说Go语言学习笔记(三)

狂神说Go语言学习笔记(一)
狂神说Go语言学习笔记(二)
狂神说Go语言学习笔记(四)

一、逻辑运算符

在这里插入图片描述

	var a bool = true
	var b bool = false

	//与,都为真结果才为真,否则为假
	if a && b {
		fmt.Println("都为真")
	} else {
		fmt.Println("只有一个为真")
	}

	//或,都为假才假
	if a || b {
		fmt.Println("至少有一个为真")
	} else {
		fmt.Println("都为假")
	}

	//取反
	if !(a && b) {
		fmt.Println("取反后为TRUE")
	} else {
		fmt.Println("取反后为FALSE")
	}

	//拓展:短路后不会计算后面的了



二、位运算符

在这里插入图片描述

//二进制 0 1  逢二进一

	//位运算: 二进制上的0 FALSE 1 TRUE
	//60  0011 1100
	//13  0000 1101
	//    ---------
	// &  0000 1100
	// |  0011 1101
	// ^  0011 0001  不同为1 相同为0
	// >>
	// <<
	var a uint = 60
	var b uint = 13
	var c uint = 0

	c = a & b
	fmt.Printf("%d,二进制%b\n", c, c)

	c = a | b
	fmt.Printf("%d,二进制%b\n", c, c)

	c = a ^ b
	fmt.Printf("%d,二进制%b\n", c, c)

	c = a << 2
	fmt.Printf("%d,二进制%b\n", c, c)

	c = b >> 2
	fmt.Printf("%d,二进制%b", c, c)

在这里插入图片描述


三、赋值运算符

在这里插入图片描述


	var a int = 119

	var b int = 361

	//赋值
	b = a
	fmt.Println(b)

	b += a
	fmt.Println(b)

	b -= a
	fmt.Println(b)

	b *= a
	fmt.Println(b)

	b /= a
	fmt.Println(b)

	b %= a
	fmt.Println(b)

	b >>= a
	fmt.Println(b)

	b <<= a
	fmt.Println(b)

	b &= a
	fmt.Println(b)

	b |= a
	fmt.Println(b)

	b ^= a
	fmt.Println(b)

在这里插入图片描述


四、其他运算符

在这里插入图片描述

    var a int = 4
	var ptr *int

	ptr = &a
	fmt.Printf("a的值为%d\n", a)     //4
	fmt.Printf("ptr的值为%p\n", ptr) //0xc0000a6058
	fmt.Printf("ptr为%d\n", *ptr)  //4

在这里插入图片描述


五、拓展之获取键盘输入

	var x int
	var y float64

	//定义了两个变量 想用键盘来录入这两个变量
	//输出
	//fmt.Println() 打印并换行
	//fmt.Printf()  格式化输出
	//fmt.Print()   打印输出

	/**
	输入:
	fmt.Scanf()
	fmt.Scanfln()
	fmt.Scan()
	*/

	fmt.Println("请输入一个整数和一个浮点数:")
	//变量取地址 &变量
	//Scanln 阻塞等待你的键盘输入
	fmt.Scanln(&x, &y)
	fmt.Println(x, y)



六、编码规范

看看就好

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


七、程序的流程控制

在这里插入图片描述

if 语句

在这里插入图片描述

var score int = 92

	if score >= 90 && score <= 100 {
		fmt.Println("A")
	} else if score >= 80 && score < 90 {
		fmt.Println("B")
	} else if score >= 70 && score < 80 {
		fmt.Println("C")
	} else if score >= 60 && score < 70 {
		fmt.Println("D")
	} else {
		fmt.Println("不及格!")
	}

if多重嵌套

var a,b int 
	var pwd int = 20191201914
	
	fmt.Println("请输入用户的密码")
	fmt.Scan(&a)
	//业务:验证密码是否正确
	if(a == pwd){
		fmt.Print("请再次输入密码:")
		fmt.Scan(&b)
		if(b == pwd){
			fmt.Println("登录成功了")
		}else{
			fmt.Println("登录失败了,第二次密码输入错误")
		}
	}else {
		fmt.Println("登录失败,密码错误")
	}

switch语句

在这里插入图片描述

   var score int = 90

	//匹配 case

	switch score {
	case 90:
		fmt.Println("A")
	case 80:
		fmt.Println("B")
	case 50, 60, 70:
		fmt.Println("C")
	default:
		fmt.Println("D")
	}

	//switch默认的条件 bool = true

	switch {
	case false:
		fmt.Println("false")
	case true:
		fmt.Println("true")
	default:
		fmt.Println("其他!")
	}

fallthrough

在这里插入图片描述

var score int = 90

	switch score {
	case 90:
		fmt.Println("A")
		fallthrough
	case 80:
		if score == 90 {
			break
		}
	}



八、for循环

在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句
for循环是一个循环控制结构,可移植性指定次数的循环

     for i := 1; i < 10; i++ {
		fmt.Println(i)
	}

	//计算1-10的数字之和
	var sum int = 0
	for i := 1; i <= 10; i++ {
		sum += i
	}
	fmt.Println(sum)

	//省去条件
	i := 1
	for i < 10 {
		fmt.Println(i)
		i++
	}

	//无限循环
	i := 1
	for {
		fmt.Println(i)
		i++
	}

练习

/**
打印一个方阵
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
*/
func main() {
	for i := 1; i <= 5; i++ {
		for j := 1; j <= 5; j++ {
			fmt.Print("* ")
		}
		fmt.Println()
	}
//打印九九乘法表
        for i := 1; i <= 9; i++ {
		for j := 1; j <= i; j++ {
			fmt.Printf("%d*%d=%d\t", i, j, i*j)
		}
		fmt.Println()
	}

在这里插入图片描述


九、break与continue

break 结束当前整个循环 continue结束当次循环

	for i := 1; i < 10; i++ {
		if i == 5 {
			break
		}
		fmt.Println(i)
	}

	fmt.Println("=============================")

	for j := 1; j < 10; j++ {
		if j == 5 {
			continue
		}
		fmt.Println(j)
	}



十、遍历String

在这里插入图片描述

	// acsii编码
	str := "Hello,world!"
	fmt.Print(str)

	//获取字符串的长度
	fmt.Println("字符串的长度为:", len(str))

	//获取指定的字节
	fmt.Print("字节打印:", str[2])
	fmt.Printf("%c", str[2])

	//for
	for i := 0; i < len(str); i++ {
		fmt.Printf("%c ", str[i])
	}

	// for range循环 遍历数组、切片....
	// 返回下标和对应的值
	for i, v := range str {
		fmt.Print(i)
		fmt.Printf(" ")
		fmt.Printf("%c", v)
	}

	//String 不能改变
	//str[2] = 'A'
	//fmt.Println(str[2])
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值