二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • Shell编程

  • Go编程笔记

  • 前端编程笔记

  • Go学习笔记

    • 基础部分

      • 基础知识
      • 数据类型
      • fmt的格式化输入输出
      • 运算符
        • 1,算术运算符。
        • 2,关系运算符。
        • 3,逻辑运算符。
        • 4,位运算符。
        • 5,赋值运算符。
        • 6,其他运算符。
        • 7,运算符优先级。
      • 流程控制
      • 认识函数
      • 包的操作
      • 项目工程-在同级目录
      • 指针(pointer)
      • 数组(array)
      • 切片(slice)
      • 字典(map)
      • 结构体(struct)
      • 匿名组合
      • 方法
      • 接口
      • error接口
      • panic
      • recover
      • 字符串操作
      • 字符串转换
      • 正则表达式
      • JSON处理
      • 文件的操作
      • goroutine
      • channel
      • select
      • sync-lock锁
      • 网络概述
      • Socket编程
      • 发文件与聊天室
      • http编程
      • 爬虫实战
      • 单元测试了解
    • web框架

    • orm框架

  • Vue-21年学习笔记

  • Vue-22年重学笔记

  • 编程世界
  • Go学习笔记
  • 基础部分
二丫讲梵
2021-07-06
目录

运算符

文章发布较早,内容可能过时,阅读注意甄别。

# 1,算术运算符。

运算符 术语 示例 结果
+ 加 10 + 5 15
- 减 10 - 5 5
* 乘 10 * 5 50
/ 除 10 / 5 2
% 取模(取余) 10 % 3 1
++ 后自增,没有前自增 a=0; a++ a=1
-- 后自减,没有前自减 a=2; a-- a=1

# 2,关系运算符。

运算符 术语 示例 结果
== 等于 4 == 3 false
!= 不等于 4 != 3 true
> 大于 2 > 3 false
< 小于 2 < 3 true
>= 大于等于 2 >= 3 false
<= 小于等于 2 <= 3 true

# 3,逻辑运算符。

运算符 术语 示例 结果
! 非 !a 如果 a 为假,则!a 为真;如果 a 为真,则!a 为假。
&& 与 a && b 如果 a 和 b 都为真,则结果为真,否则为假
|| 或 a || b 如果 a 和 b 有一个为真,则结果为真,二者都为假是,结果为假
package main

import "fmt"

func main() {
	fmt.Println("4 > 3 结果:", 4 > 3)
	fmt.Println("4 != 3 结果", 4 != 3)

	//! 表示取反
	fmt.Println("!(4 > 3) 结果:", !(4 > 3))
	fmt.Println("!(4 != 3) 结果", !(4 != 3))

	//&& 与,左边右边都为真,结果才为真,其他都为假
	fmt.Println("true && true 结果:", true && true)
	fmt.Println("true && false 结果:", true && false)

	//|| 或者,左边右边都为假,结果才为假,其他都为真
	fmt.Println("true && false 结果:", true && false)
	fmt.Println("false && false 结果:", false && false)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

逻辑运算符往往是与关系运算符配合使用的。

0 就是假,非 0 就是真。

现在要判断一个数字是否在 0 到 10 之间。

package main

import "fmt"

func main() {
	a := 8
	//错误写法如下
	//fmt.Println("0 <= a <= 10 结果是:", 0 <= a <= 10)
	//正确写法如下
	fmt.Println("0 <= a && a <= 10 结果是:", 0 <= a && a <= 10)
}
1
2
3
4
5
6
7
8
9
10
11

# 4,位运算符。

不常用,做了解。

运算符 术语 说明 示例
& 按位与 参与运算的两数各对应的二进位相与 60 & 13 结果为 12
| 按位或 参与运算的两数各对应的二进位相与 60 | 13 结果为 61
^ 异或 参与运算的两数各对应的二进位异或,当两对应的二进位相异时,结果为 1 60 ^ 13 结果为 240
<< 左移 左移 n 位就是乘以 2 的 n 次方。左边丢弃,右边补 0 4 << 2 结果为 16
>> 右移 左移 n 位就是除以 2 的 n 次方。右边丢弃,左边补位 4 >> 2 结果为 1

# 5,赋值运算符。

常用

运算符 说明 示例
= 普通赋值 c = a + b 将 a + b 表达式结果赋值给 c
+= 相加后再赋值 c += a 等价于 c = c + a
-= 相减后再赋值 c -= a 等价于 c = c - a
*= 相乘后再赋值 c _= a 等价于 c = c _ a
/= 相除后再赋值 c /= a 等价于 c = c / a
%= 求余后再赋值 c %= a 等价于 c = c % a
<<= 左移后再赋值 c <<= 2 等价于 c = c << 2
>>= 右移后在赋值 c >>= 2 等价于 c = c >> 2
&= 按位与后赋值 c &= 2 等价于 c = c & 2
^= 按位与或后赋值 c ^= 2 等价于 c = c ^ 2
|= 按位或后赋值 c |= 2 等价于 c = c | 2

# 6,其他运算符。

运算符 术语 示例 说明
& 取地址运算符 &a 变量 a 的地址
* 取值运算符 *a 指针变量 a 所指向内存的值

# 7,运算符优先级。

在 go 语言中,一元运算符拥有最高的优先级,二元运算符的运算方向均是从左至右。

下表列出了所有运算符以及他们的优先级,由上至下代表由高到低:

优先级 运算符
7 ^ , !
6 * , / , %, <<, >>, &, &^
5 +, -, ^, |
4 ==, !=, <, <=, >, >=
3 <-
2 &&
1 \|\|

运算在编程语言当中经常用到,是基础中的基础,尤其是逻辑运算以及关系运算。

微信 支付宝
#go
上次更新: 2024/06/13, 22:13:45
fmt的格式化输入输出
流程控制

← fmt的格式化输入输出 流程控制→

最近更新
01
学习周刊-总第216期-2025年第25周
06-20
02
睡着的人不关灯
06-12
03
学习周刊-总第215期-2025年第24周
06-12
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式