网络工程师的Golang之路-布尔值、比较运算符、逻辑运算符

开发 前端
同Python一样,Go中布尔值(Boolean)分为true和false,用来判断条件是否成立,唯一的区别是Python中布尔值的首字母为大写(True和False),而Go中则为小写的true和false。讲到布尔值,自然要介绍和它紧密相关的比较运算符和逻辑运算符。

布尔值基本概念

同Python一样,Go中布尔值(Boolean)分为true和false,用来判断条件是否成立,唯一的区别是Python中布尔值的首字母为大写(True和False),而Go中则为小写的true和false。讲到布尔值,自然要介绍和它紧密相关的比较运算符和逻辑运算符。

比较运算符

Go中比较运算符的类型和用法与Python几乎完全相同,它们返回的值都为布尔值,常见的比较运算符(Comparison Operators)如下表所示。

字符、字符串、整数、浮点数都能用比较运算符作比较,举例如下。

package main

import "fmt"

func main() {
//字符之间做比较
fmt.Println('P'=='G')
//英文字符串之间做比较的话,按首字母按顺序比较,"a"最小,"z"最大,所以"abc" > "bcd"返回false
fmt.Println("abc" > "bcd")
//如果首字母相同,则比较第二、第三个字母,以此类推,这里首字母a一样,因为第二个字母b小于c,所以"ab">"ac"返回false
fmt.Println("ab">"ac")
//整数之间做比较
fmt.Println(100 <= 101)
//浮点数之间做比较
fmt.Println(1.1 >= 1.2 )
//整数和浮点数之间做比较
fmt.Println(1.0 == 1 )
}

逻辑运算符

除了比较运算符,使用逻辑运算符(Logical Operators)也能返回布尔值。逻辑运算符有 3 种:与( and )、或(or)、非(not),如下表所示。

和Python不同,Go语言中没有and、or、not这几个关键词,取而代之的是&&(and)、II(or)、!(not)这几个符号,举例如下。

package main

import "fmt"

func main() {
//和(and)运算
fmt.Println(true && true)
fmt.Println(true && false)
fmt.Println(false && true)
fmt.Println(false && false)
//与(or)运算
fmt.Println(true || true)
fmt.Println(true || false)
fmt.Println(false || true)
fmt.Println(false || false)
//非(not)运算
fmt.Println(!true)
fmt.Println(!false)
}

注意一点:取非的那个感叹号"!"必须是用英文输入法输入的感叹号"!",用中文输入法输入的感叹号“!”系统会报错。

责任编辑:武晓燕 来源: 今日头条
相关推荐

2017-05-11 16:38:07

javascript逻辑运算符

2023-04-10 08:58:13

C#关系运算符

2009-08-12 14:23:09

C#逻辑运算符

2009-11-18 09:37:31

PHP逻辑运算符

2023-03-29 09:22:03

SQLWhere语句

2021-06-07 06:10:22

C++While循环For 循环

2009-08-11 15:51:08

C#运算符算术运算符

2023-04-07 08:02:54

源码位逻辑运算符

2009-12-08 10:00:36

PHP比较运算符

2009-08-12 15:20:18

C#赋值运算符复合赋值运算符

2009-08-12 15:02:49

C#赋值运算符简单赋值运算符

2009-11-18 09:19:47

PHP逻辑运算符

2020-10-15 08:11:56

JavaScript逻辑运算符

2024-02-26 15:17:20

2021-12-15 10:25:57

C++运算符重载

2009-06-21 13:48:05

ShellLinux运算符

2009-08-12 09:30:10

C#??运算符

2016-10-14 14:04:34

JAVA语法main

2009-11-26 11:12:07

PHP运算符

2020-10-18 10:47:22

空值合并运算符 '??
点赞
收藏

51CTO技术栈公众号