GO语言基础之基本运算符
GO语言基础之基本运算符
一、运算符
作用:运算符用于在程序运行时执行数学或逻辑运算。
内置运算符:
Go 语言内置的运算符有:
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
二、算术运算符
| 运算符 | 描述 |
|---|---|
| + | 相加 |
| - | 相减 |
| * | 相乘 |
| / | 相除 |
| % | 求余 |
注意: ++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符
// 1. 算术运算符
a := 10
b := 20
fmt.Println(a + b)
fmt.Println(a - b)
fmt.Println(a * b)
fmt.Println(5 / 2) // 2
fmt.Println(5 % 2) // 1
/*
a++
fmt.Println(a)
a--
fmt.Println(a)
/*
三、关系运算符
| 运算符 | 描述 |
|---|---|
| == | 检查两个值是否相等,如果相等返回 True 否则返回 False。 |
| != | 检查两个值是否不相等,如果不相等返回 True 否则返回 False。 |
| > | 检查左边值是否大于右边值,如果是返回 True 否则返回 False。 |
| >= | 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。 |
| < | 检查左边值是否小于右边值,如果是返回 True 否则返回 False。 |
| <= | 检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。 |
// 2. 关系运算符
fmt.Println(10 > 2)
fmt.Println(10 != 2)
fmt.Println(4 <= 5)
四、逻辑运算符
| 运算符 | 描述 |
|---|---|
| && | 逻辑 AND 运算符。 如果两边的操作数都是 True,则为 True,否则为 False。 |
| || | 逻辑 OR 运算符。 如果两边的操作数有一个 True,则为 True,否则为 False。 |
| ! | 逻辑 NOT 运算符。 如果条件为 True,则为 False,否则为 True。 |
// 3. 逻辑运算符
fmt.Println(10 > 5 && 1 == 1)
fmt.Println(!(10 > 5))
fmt.Println(1 > 5 || 1 == 1)
五、位运算符
位运算符对整数在内存中的二进制位进行操作。
| 运算符 | 描述 |
|---|---|
| & | 参与运算的两数各对应的二进位相与。 (两位均为1才为1) |
| | | 参与运算的两数各对应的二进位相或。 (两位有一个为1就为1) |
| ^ | 参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。 (两位不一样则为1) |
| << | 左移n位就是乘以2的n次方。 “a<<b”是把a的各二进位全部左移b位,高位丢弃,低位补0。 |
| >> | 右移n位就是除以2的n次方。 “a>>b”是把a的各二进位全部右移b位。 |
// 4. 位运算符
a := 1 // 001
b := 5 // 101
fmt.Println(a & b) // 001 => 1
fmt.Println(a | b) // 101 => 5
fmt.Println(a ^ b) // 100 => 4
fmt.Println(1 << 2) // 100 =>4
fmt.Println(4 >> 2) // 1 =>1
fmt.Println(1<<10) // 1024
六、赋值运算符
| 运算符 | 描述 |
|---|---|
| = | 简单的赋值运算符,将一个表达式的值赋给一个左值 |
| += | 相加后再赋值 |
| -= | 相减后再赋值 |
| *= | 相乘后再赋值 |
| /= | 相除后再赋值 |
| %= | 求余后再赋值 |
| <<= | 左移后赋值 |
| >>= | 右移后赋值 |
| &= | 按位与后赋值 |
| |= | 按位或后赋值 |
| ^= | 按位异或后赋值 |
// 5. 赋值运算符
var a int
a = 5
a += 5 // a = a + 5
fmt.Println(a)
GO语言基础之基本运算符的更多相关文章
- c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...
- [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套
一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大 ...
- C语言基础知识【运算符】
C 运算符1.运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符:算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符2.杂项运算符 ↦ ...
- 语言基础:C#运算符
运算符 分类 符号 解释 优先级 算术运算符 ++ -- 加加 减减 由高到低,即执行顺序由上到下.(圆括号的优先级最高) * / % 乘 除 取余 + - 加 减 关系运 ...
- Java语言基础——数据类型与运算符
标识符: 1.组成元素由字母.数字.下划线.美元符号($) 2.标识符不能以数字开头 3.标识符严格区分大小写 4.标识符的命名要有意义(见名知意) 注释: 1.单行注释 // 2.多行注释 /* 注 ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
- 第二十二节:Java语言基础-详细讲解位运算符与流程控制语句
位运算符(二进制位运算) 运算符 运算 例子 << 左移 3 << 2 = 12 --> 3 * 2 * 2 =12 >> 右移 3 >> 1 = ...
- 第二十一节:Java语言基础-关键字,标识符,注释,常量和变量,运算符
Java语言基础-关键字,标识符,注解,常量和变量,运算符 class Demo { public static void main(String[] args){ System.out.printl ...
- JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}
Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...
- C#-语言基础+数据类型+运算符
一.C#语言基础 新建项目:文件→新建→项目→Visual C#(默认.NET Framework 4.5)→控制台应用程序 1.项目结构 (1)项目后缀 .config ——配置文件(存放配置参数文 ...
随机推荐
- C#里的var和dynamic区别到底是什么,你真的搞懂了嘛
前言 这个var和dynamic都是不确定的初始化类型,但是这两个本质上的不同.不同在哪儿呢?var编译阶段确定类型,dynamic运行时阶段确定类型.这种说法对不对呢?本篇看下 概括 以下详细叙述下 ...
- Flutter状态管理新的实践
1 背景介绍 1.1 声明式ui 声明式UI其实并不是近几年的新技术,但是近几年声明式UI框架非常的火热.单说移动端,跨平台方案有:RN.Flutter.iOS原生有:SwiftUI.android原 ...
- 也谈Python编码格式
python在升级到Python3之后,因为Utf-8作为没有歧义的统一标准编码,相信很少人再会碰到编码格式的问题,但现实总会不停地打脸理想,告诉我们Too Young Too Simple.先不扯闲 ...
- #mac安装Homebrew报错问题:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
我们在打开https://brew.sh/index_zh-cn官网的时候都会给你下面这段代码,粘贴复制就可以安装: /bin/bash -c "$(curl -fsSL https://r ...
- 基于Node.js的分布式应用程序架构设计与最佳实践:实现高效、可扩展的分布式系统
目录 基于Node.js的分布式应用程序架构设计与最佳实践:实现高效.可扩展的分布式系统 随着互联网的普及和发展,分布式系统已经成为现代应用程序中不可或缺的一部分.而Node.js作为当前最流行的Ja ...
- C# 实现 Linux 视频聊天、远程桌面(源码,支持信创国产化环境,银河麒麟,统信UOS)
园子里的有朋友在下载并了解了<C# 实现 Linux 视频会议(源码,支持信创环境,银河麒麟,统信UOS)>中提供的源码后,留言给我说,这个视频会议有点复杂了,代码比较多,看得有些费劲.问 ...
- win10系统网络图标变成一个地球模型并且无法连上网络
最近在家远程办公,但是遇到个很棘手的问题,电脑突然连不上无线网络了.... 无线网络图标变成地球模型如下:
- 【Python】爬虫-Xpath
Xpath 文章参考:https://www.cnblogs.com/mxjhaima/p/13775844.html#案例 安装 pip install lxml 引用 from lxml impo ...
- Tauri-Admin通用后台管理系统|tauri+vue3+pinia桌面端后台EXE
基于tauri+vite4+pinia2跨端后台管理系统应用实例TauriAdmin. tauri-admin 基于最新跨端技术 Tauri Rust webview2 整合 Vite4 构建桌面端通 ...
- 3D降噪_运动估计块运动匹配
运动估计 运动估计是视频去噪技术的重要组成之一,计算相邻两帧视频序列各像素的相对运动偏移量,从而得到其运动轨迹. 点 ( i , j ) (i,j) (i,j)和 ( x , y ) (x,y) (x ...