08-Golang中的运算符

news2024/11/20 3:24:25

@[TOC](Golang中的运算符

  • 运算符介绍
  • 算数运算符
    • 基本介绍
    • 细节说明
  • 关系运算符(比较运算符)
    • 基本介绍
    • 细节说明
  • 逻辑运算符
    • 基本介绍
    • 细节说明
  • 赋值运算符
    • 基本介绍
    • 细节说明
  • 运算符优先级

运算符介绍

运算符是一种特殊的符号,用来表示数据的运算、赋值和比较

  • 1.算数运算符
  • 2.赋值运算符
  • 3.比较运算符/关系关系运算符
  • 4.逻辑运算符
  • 5.位运算符
  • 6.其他运算符

算数运算符

基本介绍

算数运算符是对数值类型的变量进行运算的,比如:加减乘除
在这里插入图片描述

package main
import (
	"fmt"
)


func main(){
	
	//如果运算的数都是整数,那么除后,去掉小数部分,保留整数部分
	fmt.Println(10 / 4)
	
	var n1 float32 = 10 / 4
	fmt.Println(n1)

	//若希望保留小数部分,则需要有浮点数参与运算
	var n2 float32 = 10.0 / 4
	fmt.Println(n2)

	//演示%的使用
	fmt.Println(10 % 3)

	// ++和--的使用
	var i int = 10
	i++ //等价i = i + 1
	fmt.Println(i)
	i-- 等价i = i - 1
	fmt.Println(i)
}
package main
import (
	"fmt"
)


func main(){
	
	//加入还有97天放假,问还有几个星期多少天
	var days int = 97
	var week int = days / 7
	var day int = days % 7
	fmt.Printf("%d个星期零%d天\n", week, day)

	//定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为
	//5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度
	var h float32 = 134.2
	var s float32 = 5.0 / 9 * (h - 100)
	fmt.Printf("对应的摄氏温度为%v", s)
	
}

细节说明

  • 1.对于除号"/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分二舍弃小数部分。

  • 2.当对一个数取模时,可以等价a%b=a-a/b*b,这样我们可以看到取模的一个本质运算

  • 3.Golang的自增自检只能当做一个独立语言使用时,不能使用b:=a++或者b:a–

  • 4.Golang的++和–只能泻在变量的后面,不能写在变量的前面,即只有a++,a–没有++a,- -a

    例题:

关系运算符(比较运算符)

基本介绍

  • 1.关系运算符的结果都是bool型,也就是要么是true,要么是false
  • 2.关系表达式经常用在if结构的条件中或循环结构的条件中
    在这里插入图片描述
package main
import (
	"fmt"
)


func main(){
	//演示关系运算符的使用
	var n1 int = 9
	var n2 int = 8
	fmt.Println(n1 == n2)
	fmt.Println(n1 != n2)
	fmt.Println(n1 > n2)
	fmt.Println(n1 >= n2)
	fmt.Println(n1 < n2)
	fmt.Println(n1 <= n2)
	flag := n1 > n2
	fmt.Println("flag",flag)
}

在这里插入图片描述

细节说明

  • 1.关系运算符的结果都是bool型,也就是要么是true,要么是false
  • 2.关系运算符的表达式,我们成为关系表达式:a>b
  • 3.比较运算符"==“不能误写成”="

逻辑运算符

基本介绍

用于连接多个条件(一般是就是关系表达式),最终的结果也是一个bool值。
在这里插入图片描述

package main
import (
	"fmt"
)


func main(){
	//演示逻辑运算符的使用 &&
	var age int = 40
	if age > 30 && age < 50{
		fmt.Println("ok1")
	}

	if age > 30 && age < 40{
		fmt.Println("ok2")
	}
	//演示逻辑运算符的使用 ||
	
	if age > 30 || age < 50{
		fmt.Println("ok3")
	}

	if age > 30 || age < 40{
		fmt.Println("ok4")
	}
	//演示逻辑运算符的使用 !
	
	if age > 30 {
		fmt.Println("ok5")
	}

	if !(age > 30){
		fmt.Println("ok2")
	}
}

细节说明

  • 1.&&也叫短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false
  • 2.||也叫短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true

赋值运算符

基本介绍

赋值运算符就是将某个运算后的值,赋给指定的变量。
在这里插入图片描述

package main
import (
	"fmt"
)


func main(){
	
	a := 19
	b := 12
	fmt.Printf("交换前的情况是a = %v,b = %v\n",a , b)
	
	//定义一个临时变量
	t := a
	a = b
	b =t
	fmt.Printf("交换后的情况是a = %v,b = %v\n",a , b)
	
	//复合赋值的操作
	a += 17
	fmt.Printf("a=", a)
}

细节说明

  • 1.运算顺序从右往左
  • 2.赋值运算的左边是能变量,右边可以是变量、表达式、常量值
  • 3.复合赋值运算符等价于以下结果:a += 3等价于 a = a + 3

运算符优先级

  • 1.运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如下表上一行运算符总优于下一行。
  • 2.只有单目运算符、赋值运算符是从右到左运算的。
    在这里插入图片描述

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

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

相关文章

Vue事件处理的基本使用

前言 事件处理在vue中也是非常重要的一项技术&#xff0c;它类似于js的事件处理&#xff0c;但是也有不同&#xff0c;下面就简单介绍一下在vue中如何进行事件使用以及一些要点 1 事件基本使用 在这里我们使用单击事件为例&#xff0c;简单讲讲在vue中单击事件的编写以及细节…

最近面试遇到一个算法题,简单写一点。

第⼀题&#xff08;必答&#xff09; 请针对有重复数字的数组设计⼀个快排算法&#xff0c;⽐如&#xff1a;[34, 34, 89, 1, 1, 20, 12]&#xff0c;排序后结果为 [89,34,34,20,12,1,1] 第⼆题&#xff08;必答&#xff09; 请利⽤Redis 实现⼀个通⽤分布式锁&#xff0c;并…

技术进步、研发计划启动及政策支持 共促我国合成生物学市场容量加速扩张

合成生物学是对生物体进行有目标的设计、改造乃至重新合成&#xff0c;这一名词最早出现于DNA重组技术发展的上世纪70年代。合成生物学汇聚并融合了生命科学、工程学和信息科学等诸多学科&#xff0c;在天然产物合成、化学工业、生物能源、生物医药等诸多领域有广泛的应用前景。…

【Animejs】——Anime.js照片墙案例实现

目录 一、实现的效果&#xff1a; 二、实现js的具体步骤 1、需要实现的逻辑梳理 2、切换风格的逻辑 三、完整代码&#xff1a; 用js编写使用animejs实现图片复杂的切换效果 一、实现的效果&#xff1a; 点击——> <——箭头&#xff0c;实现不同动画效果的炫酷切换 …

【小5聊】C++ 输入矩阵数字,然后回环方式输出

C 输入矩阵数字&#xff0c;然后回环方式输出 1、题目内容 输入 第一行是两个m和n&#xff0c;分别代表矩阵的行数和列数。 第二行开始输入对应矩阵 输出 第二行回转输出。 相邻的两个整数之间用一个空格分开&#xff0c;行尾无空格 样例输入 5 6 4 8 9 4 5 6 1 2 5 6…

控制算法-PID算法总结-从公式原理到参数整定解析

目录 一、控制系统 1.1控制系统的分类 1.2 性能指标 二、PID算法的起源及特点 三、PID应用 四、PID公式原理 五、PID源码 六、PID整定方法 6.1 经验法 6.2 衰减曲线法 6.3 响应曲线法 参考文献&#xff1a; 一、控制系统 1.1控制系统的分类 分为开环控制、闭环控制和…

Java 8 Stream 从入门到进阶——像SQL一样玩转集合

0.阅读完本文你将会 了解Stream的定义和它的特征了解Stream的基础和高阶用法 1. 前言 在我们日常使用Java的过程中&#xff0c;免不了要和集合打交道。对于集合的各种操作有点类似于SQL——增删改查以及聚合操作&#xff0c;但是其方便性却不如SQL。 所以有没有这样一种方式…

【每日一题Day66】LC1754构造字典序最大的合并字符串 | 贪心 双指针模拟

构造字典序最大的合并字符串【LC1754】 You are given two strings word1 and word2. You want to construct a string merge in the following way: while either word1 or word2 are non-empty, choose one of the following options: If word1 is non-empty, append the fir…

10.2、Django入门--前台管理

文章目录1、URLconf 路由管理展示首页2、视图函数处理业务逻辑展示书籍的详细页3、模板管理实现好看的HTML页面3.1 模板引擎配置3.2 模板语法&#xff1a;变量3.3 模板语法: 常用标签3.4 主页与详情页前端HTML设计常用的HTML编写基础标题标签列表标签图片标签链接标签表格标签表…

耗时二周,万字总结Maven简明教程,与君共勉!

什么是Mavne Maven 是一个项目管理工具&#xff0c;它包含了一个项目对象模型 (POM&#xff1a;Project Object Model)&#xff0c;一组标准集合。由于 Maven 使用标准目录布局和默认构建生命周期&#xff0c;开发团队几乎可以立即自动化项目的构建基础设施。在多个开发团队环…

代码随想录训练营第60天|LeetCode 84.柱状图中最大的矩形

LeetCode 84.柱状图中最大的矩形 双指针 注意&#xff0c;双指针解法可行&#xff0c;但是在力扣上提交会超时。 以heights[i]为中心&#xff0c;用两个指针向两边扩散&#xff0c;直到heights[left]和heights[right]小于heights[i]为止&#xff0c;这样就构成了以left和rig…

第11章_数据库的设计规范(理论了解)

第11章_数据库的设计规范 范式 2.3键和相关属性的概念 范式的定义会使用到主键和候选键&#xff0c;数据库中的键(Key)由一个或者多个属性组成。数据表中常用的几种键和属性的定义: 超键︰能唯─标识元组的属性集叫做超键。候选键︰如果超键不包括多余的属性&#xff0c;那…

基于HOG+LBP完成特征工程,基于机器学习模型同时完成人脸识别+表情识别

这周前两天有时间我写了一篇博文&#xff0c;基于LBP和HOG实现人脸好表情特征的提取计算&#xff0c;之后分别训练了人脸识别模型和表情识别模型&#xff0c;在推理阶段实现了单张图像一次性人脸识别和表情识别的计算分析&#xff0c;但这个我前面就说了这个还是间接的实现方式…

关于GC原理和性能调优实践,看这一篇就够了

前言 本文介绍 GC 基础原理和理论&#xff0c;GC 调优方法思路和方法&#xff0c;基于 Hotspot jdk1.8&#xff0c;学习之后你将了解如何对生产系统出现的 GC 问题进行排查解决。 正文 本文的内容主要如下&#xff1a; GC 基础原理&#xff0c;涉及调优目标&#xff0c;GC 事…

Redis原理篇—数据结构

Redis原理篇—数据结构 笔记整理自 b站_黑马程序员Redis入门到实战教程 底层数据结构 动态字符串SDS 我们都知道 Redis 中保存的 Key 是字符串&#xff0c;value 往往是字符串或者字符串的集合。可见字符串是 Redis 中最常用的一种数据结构。 不过 Redis 没有直接使用C语言中…

Python圣诞树

目录 一、前言 二、创意名 三、效果展示 四、实现步骤 五、编码实现 一、前言 一年一度的圣诞节又要来喽~在这么浪漫的节日里怎么能少的了一个浪漫的程序员呢~让我们一起画个圣诞树&#xff0c;送给你喜欢的那个人吧~ 二、创意名 Python浪漫圣诞树&#xff0c;具体源码见&…

嘿ChatGPT,来帮我写代码

最近 ChatGPT 发行了&#xff0c;这是由 OpenAI 开发的AI聊天机器人&#xff0c;专门研究对话。它的目标是使AI系统更自然地与之互动&#xff0c;但是在编写代码时也可以为您提供帮助。您可以让 ChatGPT 做你的编程助理&#xff0c;甚至更多&#xff01;在过去的几天里&#xf…

腾讯云轻量应用服务器使用 SRS 应用镜像搭建个人直播间、视频转播、本地录制!

SRS 是一个开源的流媒体集群&#xff0c;主要应用在直播和 WebRTC&#xff0c;支持 RTMP、WebRTC、HLS、HTTP-FLV 和 SRT 等常用协议。 轻量应用服务器提供了 SRS 应用镜像&#xff0c;使您无需再关注繁杂的部署操作&#xff0c;即可通过该镜像在轻量应用服务器上一键搭建个人…

安卓/华为手机恢复出厂设置后如何恢复照片

绝大多数安卓用户都会经历过手机恢复出厂设置&#xff0c;部分用户可能没有意识到手机恢复出厂设置可能会导致数据丢失。但是&#xff0c;当您在 云盘上进行备份或在设备上进行本地备份时&#xff0c;情况就会有所不同&#xff0c;并且当您将 安卓手机恢复出厂设置时&#xff0…

LeetCode HOT 100 —— 581. 最短无序连续子数组

题目 给你一个整数数组 nums &#xff0c;你需要找出一个 连续子数组 &#xff0c;如果对这个子数组进行升序排序&#xff0c;那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组&#xff0c;并输出它的长度。 思路 方法一&#xff1a;双指针 排序 最终目的是让…