[go学习笔记.第四章.运算符] 3.关系运算符,逻辑运算符,赋值运算符

一.关系运算符

1).关系运算符的结果都是bool型,要么true,要么false

2).关系表达式经常使用在if结构的条件中或循环结构的条件中

关系运算符一览表

package main

import "fmt"

//案例演示
func main() {
    var a int = 4
    var b int = 3
    fmt.Println(a > b)
    fmt.Println(a >= b)
    fmt.Println(a < b)
    fmt.Println(a <= b)
    fmt.Println(a == b)
    fmt.Println(a !=b )

    flag := a > b
    fmt.Println(flag)
}

细节说明:

1).关系运算符的结果都是bool型, 要么true,要么false

2).关系运算符组成的表达式,称之为关系表达式: a > b

3).比较运算符 "==" 不能写成 "="

二.逻辑运算符

用于连接多个条件(一般来讲就是关系表达式),最终结果也是一个bool值 

逻辑运算符一览表

 注意事项

1).&&也叫短路与,如果第一个条件为false,则第二个条件不会判断,最终结果为false

2).||也叫短路或,如果第一个添条件为true,则第二个条件不会判断,最终结果为true

//案例演示
package main

import "fmt"

//声明一个函数
func test() {
    fmt.Println("test...")
    return true
}

func main() {
    var i int = 10
    //短路与
    //说明: i < 9 为 false,故后面的test()就不会执行
    if i < 9 && test() {
        fmt.Println("ok...")
    }
    //短路或
    //说明: i > 9 为 true,故后面的test()就不会执行
    if i > 9 || test() {
        fmt.Println("ok...")
    }
}

三.赋值运算符

赋值运算符就是将某个运算后的值,赋给指定的变量

 赋值运算符

分类一

 分类二

说明:分类二部分的赋值运算符涉及到二进制相关知识,放到二进制讲解的时候补充 

案例演示

//赋值运算符的基本使用
//1.基本使用
//2.有两个变量,a,b,要求将其交换并打印出来
//3.+=的使用
package main

import "fmt"

func main() {
    //1.基本使用
    var i int 
    i = 10 //基本赋值
    
    //2.有两个变量,a,b,要求将其交换并打印出来
    // a = 8, b = 7 ==> a = 7, b = 8
    a := 8
    b := 7
    fmt.Printf("交换前a = %v,b = %v \n", a, b)
    //定义一个临时变量
    t := a
    a := b
    b := t
    fmt.Printf("交换后a = %v,b = %v \n", a, b)

    //3.复合赋值+=操作
    a += 17  // 等价于 a = a + 17
    fmt.Println("a = ", a)
    
}

 赋值运算符的特点

1).运算顺序从左至右

2).赋值运算符的左边只能是变量,右边可以是变量,表达式,常量值

3).复合赋值运算符等价于下面效果,eg: a += 1 ==> a = a + 1

package main

import "fmt"

func test() {
    fmt.Println("test...")
    return 11
}    

func main() {
    var c int
    var a int = 5 
    c = a + 3  //赋值运算的顺序是从右到左
    
    //赋值运算符的左边只能是变量,右边可以是变量,表达式,常量值
    //表达式:任何有值都可以看做是表达式
    var d int
    d = a
    d = 8 + 2 * 6 // =右边是表达式
    d = test() + 99    // =右边是表达式
    d = 888    //888是一个常量
}
//有两个变量,a,b,要求将其交换,但不允许使用中间变量,打印出来
package main

import "fmt"

func main() {
    var a int = 77
    var b int = 33
    
    a = a + b
    b = a - b
    a = a - b
    fmt.Printf("交换后的a=%v,b=%v", a, b)
}

上一节:[go学习笔记.第四章.运算符] 2.算术运算符

下一节:[go学习笔记.第四章.运算符] 4.运算符的优先级,其他运算符

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《Go语言学习笔记.pdf》是一本关于Go语言学习学习笔记,内容丰富且简洁明了。本书从基础知识开始,逐步介绍了Go语言的语法、特性和常用库函数等。在学习笔记,作者通过实际的示例和练习帮助读者理解Go语言的概念和用法。 第一章介绍了Go语言的起源和发展,为读者提供了对Go语言背景的整体了解。第二章讲解了Go语言的基本语法,例如变量声明、循环和条件语句等。通过大量的代码示例,读者能够更好地理解Go语言的语法和结构。 接下来的章节重点介绍了Go语言的并发编程和高级特性。第三章详细介绍了Go语言的goroutine和channel,这是Go语言并发编程的核心机制。作者通过生动的示例代码和实际应用案例,向读者展示了如何使用goroutine和channel实现并发编程。 第四章和第五章分别介绍了Go语言的面向对象编程和函数式编程。通过深入讲解Go语言的结构体、接口和函数,读者能够更好地应用这些特性进行代码设计和开发。 最后几章则介绍了Go语言常用的库函数和工具。例如,第六章介绍了Go语言用于网络编程的net包和http包。读者可以学习到如何使用这些库函数构建基于网络的应用程序。 总的来说,《Go语言学习笔记.pdf》是一本非常实用的Go语言学习资料。通过阅读这本书,读者能够系统地学习和理解Go语言的基本概念和高级特性,为之后的Go语言开发打下坚实的基础。无论是初学者还是有一定编程经验的开发者,都能从获得丰富的知识和经验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值