Golang学习之路一六运算符

Golang学习之路一六运算符

算数运算符

符号说明
+相加
-相减
*相乘
/相除
%求余
++自增
自减
package mainimport "fmt"func main() {a := 10b := 6// +fmt.Println(a+b)// -fmt.Println(a-b)// *fmt.Println(a*b)// /fmt.Println(a/b)// %fmt.Println(a%b)// ++fmt.Println(a)a++fmt.Println(a)// -fmt.Println(b)b--fmt.Println(b)
}

关系运算符

符号说明
==等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于
package mainimport "fmt"func main() {a := 10b := 6// ==fmt.Println(a==b)// !=fmt.Println(a!=b)// >fmt.Println(a>b)// <fmt.Println(a<b)// >=fmt.Println(a>=b)// <=fmt.Println(a<=b)// ==fmt.Println(a==b)
}

逻辑运算符

符号说明
&&
!
package mainimport "fmt"func main() {a := 10b := 6c := 6// &&fmt.Println(a > b && b >= c)// ||fmt.Println(a > b || b > c)// !var d boolfmt.Println(!d)
}

赋值运算符

运算符描述实例
=简单的赋值运算符,将一个表达式的值赋给一个左值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
=按位或后赋值

位运算

运算符描述实例
&按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。(A & B) 结果为 12, 二进制为 0000 1100
按位或运算符"
^按位异或运算符"^"是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为 1。(A ^ B) 结果为 49, 二进制为 0011 0001
<<左移运算符"<<“是双目运算符。左移 n 位就是乘以 2 的 n 次方。 其功能把”<<“左边的运算数的各二进位全部左移若干位,由”<<"右边的数指定移动的位数,高位丢弃,低位补 0。A << 2 结果为 240 ,二进制为 1111 0000
>>右移运算符">>“是双目运算符。右移 n 位就是除以 2 的 n 次方。 其功能是把”>>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数。A >> 2 结果为 1
package mainimport "fmt"func main() {var a uint = 60      /* 60 = 0011 1100 */var b uint = 13      /* 13 = 0000 1101 */var c uint = 0c = a & b       /* 12 = 0000 1100 */fmt.Println(c)c = a | b       /* 61 = 0011 1101 */fmt.Println(c)c = a ^ b       /* 49 = 0011 0001 */fmt.Println(c)c = a << 2     /* 240 = 1111 0000  a*(2**2) */fmt.Println(c)c = a >> 2     /* 15 = 0000 1111 a/(2*2) */fmt.Println(c)
}

其他运算符

运算符描述实例
&返回变量存储地址&a; 将给出变量的实际地址。
*指针变量。*a; 是一个指针变量
package mainimport "fmt"func main() {var a int = 4var b int32var c float32var ptr *int/* 运算实例 */fmt.Printf("a 变量类型为 = %T\n", a );fmt.Printf("b 变量类型为 = %T\n", b );fmt.Printf("c 变量类型为 = %T\n", c );/*  & 和 * 运算符实例 */ptr = &a     /* 'ptr' 包含了 'a' 变量的地址 */fmt.Printf("a 的值为  %d\n", a);fmt.Printf("*ptr 为 %d\n", *ptr);
}

运算符优先级

有些运算符拥有较高的优先级,二元运算符的运算方向均是从左至右。下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:

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

当然,我们可以通过使用括号来临时提升某个表达式的整体运算优先级。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/607817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哈希-力扣202快乐数

题目 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1&…

Spring AOP(详解)

目录 1.AOP概述 2.AOP相关术语 3.Spring AOP的原理机制 3.1JDK动态代理 3.2 CGLIB动态代理 3.3简单代码展示 3.3.1JDK动态代理 3.3.2CGLIB动态代理 4.Spring的AOP配置 4.1pom.xml 4.2增强方法 4.3切点 4.4切面 5.基于注解的AOP配置 5.1.创建工程 5.2.增强 5.3AOP…

React 基础

文章目录 React是什么?1. JSX 简介1.1 在 JSX 中嵌入表达式1.2 JSX 中指定属性1.3 使用 JSX 指定子元素1.4 JSX 表示对象 2. 元素渲染2.1 将一个元素渲染为 DOM 3. 组件 & Props3.1 函数组件与class组件3.1.1 函数组件3.1.2 class组件3.2 渲染组件 & props 3.1 Props的…

Windows 环境多个JDK安装与切换

一、下载jdk 去Oracle官网上下载想要安装的jdk版本&#xff0c;https://www.oracle.com/java/technologies/downloads/。 二、安装jdk 双击.exe文件&#xff0c;选择好安装目录进行安装。多个版本的jdk重复这两步操作就好。 三、多版本的jdk都下载安装完成之后&#xff0…

串口基本知识

概述&#xff1a; RS232适用于短距离通信&#xff0c;RS485适用于长距离的多点通信&#xff0c;而RS422适用于中长距离的高速通信。选择适合的串口标准应根据具体应用场景的需求来进行。 RS232的优缺点 RS-232采取不平衡传输方式&#xff0c;即所谓单端通讯。RS-232是为点对…

docker部署firefox浏览器,实现远程访问

拉取firefox镜像&#xff0c;部署代码 docker run -d --name firefox -e TZAsia/Hong_Kong -e DISPLAY_WIDTH1920 -e DISPLAY_HEIGHT1080 -e KEEP_APP_RUNNING1 -e ENABLE_CJK_FONT1 -e VNC_PASSWORD12345678ABCabc -p 5800:5800 -p 5900:5900 -v /docker/firefox/config:/…

构建免费的Dokan和WooCommerce构建线上课程市场在线销售数字课程

我们知道创建良好的学习说明和材料很困难。但当涉及到销售时&#xff0c;就变得更加困难。如果您无法出售您的课程&#xff0c;那么没有什么比这更令人沮丧的了。 幸运的是&#xff0c;如果您使用的是 WordPress 网站&#xff0c;那么您可以非常轻松且免费地完成此操作。借助L…

React使用Valtio的hook实现响应式状态管理

Valtio 是一个轻量级的库&#xff0c;可以在前端应用程序中管理状态。它的使用方式非常简单直观&#xff0c;让我们能够轻松跟踪和更新应用程序的状态&#xff0c;并且无需手动处理组件重新渲染的逻辑。假设我们正在构建一个社交媒体应用&#xff0c;我们想要追踪用户的信息、主…

Wargames与bash知识12

Wargames与bash知识12 Bandit20 关卡提示&#xff1a; 主目录中有一个setuid二进制文件&#xff0c;它执行以下操作&#xff1a;它在您指定为命令行参数的端口上连接到localhost。然后&#xff0c;它从连接中读取一行文本&#xff0c;并将其与前一级别的密码&#xff08;band…

【Angular教程 230106】03 Angular事件、表单事件、事件对象、双向数据绑定

Angular教程 230106#快捷 04 Angular事件、表单事件、事件对象、双向数据绑定&#xff08;45分&#xff09; 0 一些基础的概念 1 执行事件 (click)”getData()” 执行事件 angular 在 Angular 中&#xff0c;“执行事件”通常指的是当一个特定的事件发生时触发的一系列动作…

web学习笔记(十三)

目录 1.for循环 1.1格式&#xff1a; 1.2执行步骤&#xff1a; 1.3补充&#xff1a; 2. while循环和do-while循环 2.1格式&#xff1a; 补充断点调试&#xff1a; 补充穷举法&#xff1a; 1.for循环 1.1格式&#xff1a; for(变量初始化&#xff1b;判断条件&#xff1…

L1-005 考试座位号(Java)

题目 每个 PAT 考生在参加考试时都会被分配两个座位号&#xff0c;一个是试机座位&#xff0c;一个是考试座位。正常情况下&#xff0c;考生在入场时先得到试机座位号码&#xff0c;入座进入试机状态后&#xff0c;系统会显示该考生的考试座位号码&#xff0c;考试时考生需要换…

Ansys Zemax | 如何使用 ZPL 创建用户自定义求解

附件下载 联系工作人员获取附件 本文使用两个示例演示了如何使用 ZPL 创建用户自定义解。第一个示例介绍了如何创建 ZPL 解以确保序列文件中像面的曲率半径等于系统的 Petzval 曲率。第二个示例介绍了如何在非序列元件编辑器 ( Non-Sequential Component Editor ) 中基于其他…

含中间直流的三相电力电子变压器PET仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 背景&#xff1a; 目前高压电网中应用的绝大多数电力变压器都属于传 统电力变压器&#xff0c;传统变压器的优势在于工艺简单、安全性 较强。但传统变压器本身的弊端也非常突出&#xff0c;占地大、重 量大&…

从虚拟到现实:数字孪生驱动智慧城市可持续发展

随着科技的飞速发展&#xff0c;智慧城市已经成为未来城市发展的重要趋势。数字孪生技术作为智慧城市建设中的关键技术之一&#xff0c;正在发挥着越来越重要的作用。本文将探讨数字孪生如何从虚拟走向现实&#xff0c;驱动智慧城市的可持续发展。 一、数字孪生技术&#xff1…

【Vue3】2-6 : 计算属性与侦听器区别与原理(一)

本书目录&#xff1a;点击进入 一、计算属性 - computed:{} 1.1 目的 1.2 写法 代码 二、特征 2.1 调用时当属性调用 2.2 缓存 2.3 默认只读 2.4 可赋值&#xff1a;需要定义成对象&#xff0c;并写get&#xff0c;set方法 &#xff08;类似于java&#xff09; 三、原…

tryhackme--Command Injection(命令注入)

查看应用程序在哪个用户下运行。 任务1 简介&#xff08;什么是命令注入&#xff1f;&#xff09; 命令注入是滥用应用程序的行为&#xff0c;使用与设备上运行的应用程序相同的权限在操作系统上执行命令。例如&#xff0c;在以名为joe的用户身份运行的 Web 服务器上实现命令…

多层感知机(Multilayer Perceptron,MLP)

什么是机器学习 多层感知机&#xff08;Multilayer Perceptron&#xff0c;MLP&#xff09;是一种前馈神经网络&#xff0c;由输入层、多个隐藏层和输出层组成。MLP是一种强大的非线性模型&#xff0c;可以用于解决分类和回归问题。它通过学习适当的权重和偏置来映射输入到输出…

4.2 MATRIX MULTIPLICATION

矩阵-矩阵乘法&#xff0c;或简称矩阵乘法&#xff0c;在 i X j&#xff08;i 行 by j 列&#xff09;矩阵 M 和 j x k 矩阵 N 之间产生 i X k 矩阵P。矩阵乘法是基本线性代数子程序&#xff08;BLAS&#xff09;标准的重要组成部分&#xff08;见第3章中的“线性代数函数”边栏…

gazebo安装版本--公元2024年1月

不好意思我误导了各位&#xff0c;顺便也误导了我自己。。。。。。。。。 harmonic版本只适合单独使用&#xff0c;不适合与ros2配合仿真。 到2024年1月&#xff0c;只有fortress版本能与ros2配合使用