脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - 网络工程师的Golang之路-布尔值、比较运算符、逻辑运算符

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

2022-10-24 20:29弈心 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)如下表所示。

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

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

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 ) }

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

逻辑运算符

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

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

和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) }

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

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

原文地址:https://www.toutiao.com/article/7151759695559295519/

延伸 · 阅读

精彩推荐
  • Golang手把手带你走进Go语言之条件表达式

    手把手带你走进Go语言之条件表达式

    条件表达式由条件运算符构成,并常用条件表达式构成一个赋值语句,本文给大家介绍了在Go语言中条件表达式的具体用法,讲述的非常详细,对大家的学...

    我是小白呀6202021-11-13
  • Golanggo redis之redigo的使用

    go redis之redigo的使用

    本文主要介绍了go redis之redigo的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来...

    General_zy6942022-10-13
  • GolangGo每日一库之dateparse处理时间

    Go每日一库之dateparse处理时间

    不管什么时候,处理时间总是让人头疼的一件事情。今天要介绍的dateparse实现解析日期时间格式的字符串。具有一定的参考价值,感兴趣的小伙伴们可以参...

    darjun12152021-08-13
  • GolangGO语言异常处理机制panic和recover分析

    GO语言异常处理机制panic和recover分析

    这篇文章主要介绍了GO语言异常处理机制panic和recover,分析了捕获运行时发生错误的方法,是非常实用的技巧,需要的朋友可以参考下 ...

    shichen20142682020-04-11
  • GolangGO语言文件的创建与打开实例分析

    GO语言文件的创建与打开实例分析

    这篇文章主要介绍了GO语言文件的创建与打开的具体用法,实例分析了GO语言文件创建与打开操作中所涉及的函数具体用法,具有一定的参考借鉴价值,需要的朋...

    shichen20145942020-04-11
  • GolangGO语言基础入门第一个go程序解读

    GO语言基础入门第一个go程序解读

    这篇文章主要为大家介绍了GO语言基础入门的第一个go程序解读,下面来带大家进入Go语言世界helloworld的大门吧,有需要的朋友可以借鉴参考下,希望能够有...

    枫少文10852021-12-08
  • Golang如何使用Go语言实现远程执行命令

    如何使用Go语言实现远程执行命令

    远程执行命令最常用的方法就是利用SSH协议,将命令发送到远程机器上执行,并获取返回结果。本文将介绍如何使用Go语言实现远程执行命令。下面一起来看看...

    daisy6632020-05-01
  • Golang如何在 Go 中将 []byte 转换为 io.Reader?

    如何在 Go 中将 []byte 转换为 io.Reader?

    在 stackoverflow 上看到一个问题,题主进行了一个网络请求,接口返回的是 []byte。如果想要将其转换成 io.Reader,需要怎么做呢?...

    AlwaysBeta8352021-12-29