(十)golang--运算符
1.算术运算符
+ - * / % ++ --
使用细节:
(1)对于"/"号,整数除和小数除的区别;
(2)++和--只能独立使用,即a=a++是不允许的;没有++a和--a;if a++ > 0也是不合法的;
2.赋值运算符
= += -= *= /= %=
<<= >>= &= ^= |=
使用特点:
(1)运算顺序从右往左;
(2)赋值运算符的左边只能是变量,右边可以是表达式,变量和常量;
小例子:不用中间变量,交换两个变量的值:
package main import (
"fmt"
) func main() {
var num1 int = 3
var num2 int = 5
fmt.Println("num1的值是:", num1)
fmt.Println("num2的值是:", num2)
num1 = num1 + num2
fmt.Println("num1的值是:", num1)
num2 = num1 - num2 //相当于num2=num1+num2-num2 ==>num2=num1
fmt.Println("num2的值是:", num2)
num1 = num1 - num2 //相当于num1=num1+num2-num1 ==>num1=num2
fmt.Println("num1的值是:", num1)
fmt.Println("num2的值是:", num2)
}
我这个go版本可以直接使用和python一样语法:即num1, num2 = num2, num1
3.比较运算符
== != < > <= >=
4.逻辑运算符
&& 逻辑与:如果两边都为true,则返回true,否则返回false
|| 逻辑或:如果两边至少有一个true,则返回true,否则返回false
| 逻辑非:如果和条件相反的布尔值
注意:逻辑与第一个条件是false,第二个条件就不会判断;逻辑或如果第一个条件是true,则第二个条件不会被判断;
5.位运算符
& | ^ << >>
6.其他运算符
& *
golang不支持三元运算符,只能用if else进行实现;
var i int = 10
var j int = 20
var n int
if i > j {
n = i
} else {
n = j
}
运算符的优先级:
(1)只有单目运算符、赋值运算符是从右向左的;
以下优先级依次降低:
- () [] ++ --
- 单目运算(* & sizeof)
- 算术运算符(+ - * / %)
- 移位运算符(<< >>)
- 关系运算符(< > <= >= 在 != == 之前)
- 位运算符(依次按& ^ |)
- 逻辑运算符(依次&& ||)
- 赋值运算符(= += -= *= /= >>= <<= &= ^= |=)
- 逗号
(十)golang--运算符的更多相关文章
- sdut 面向对象程序设计上机练习十(运算符重载)
面向对象程序设计上机练习十(运算符重载) Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 定义一个复数类Complex,重载运算符"+" ...
- C#编程(四十)----------运算符重载
运算符重载 所谓的运算符重载是指允许用户使用用户定义的类型编写表达式的能力. 例如,通常需要编写类似与以下内容的代码,入江两个数字相加,很明显,sum是两个数字之和. int i=5,j=4; int ...
- golang 运算符
/* 算术运算符 : + - * / % ++ -- 关系运算符 : == != > < >= <= 逻辑运算符 : && || ! 赋值运算符 : = += ...
- golang运算与循环等
一.golang运算符 1.算术运算符 + 相加- 相减* 相乘/ 相除% 求余++ 自增-- 自减 2.关系运算符 == 等于!= 不等于> 大于< 小于>= 大于等于<= ...
- C#运算符大全_各种运算符号的概述及作用
一.[]方括号 ([]) 用于数组.索引器和属性,也可用于指针. 1.数组类型是一种后跟 [] 的类型:int[] fib = new int[100]; //创建一个有100元素的数组若要访问数组的 ...
- Golang语言的入门开始
一.golang介绍与安装 二.golang-hello world 三.golang的变量 四.golang的类型 五.golang的常量 六.golang的函数(func) 七.golang的包 ...
- JavaScript---js语法,数据类型及方法, 数组及方法,JSON对象及方法,日期Date及方法,正则及方法,数据类型转换,运算符, 控制流程(三元运算),函数(匿名函数,自调用函数)
day46 一丶javascript介绍 JavaScript的基础分为三个 1.ECMAScript:JavaScript的语法标准.包括变量,表达式,运算符,函数,if语句,for语句 ...
- python3笔记三:运算符与表达式
一:学习内容 算术运算符:+(加).-(减).*(乘)./(除).%(取模).**(求幂).//(取整) 赋值运算符:= 复合运算符:+=.-=.*=./=.%=.**=.//= 位运算符:& ...
- C++_01_入门
一.类的定义 Person.h类声明 Person.cpp类实现 main.cpp主函数 二.命名空间的使用 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv ...
- 从零开始学习前端JAVASCRIPT — 1、JavaScript基础
1:定义:javascript是一种弱类型.动态类型.解释型的脚本语言. 弱类型:类型检查不严格,偏向于容忍隐式类型转换. 强类型:类型检查严格,偏向于不容忍隐式类型转换. 动态类型:运行的时候执行类 ...
随机推荐
- C# 协变、逆变
微软官方概述: 在C#中,协变和逆变能够实现数组类型.委托类型和泛型类型参数的隐式引用转换.协变保留分配兼容性,逆变则与之相反. 协变:能够使用与原始指定的派生类型相比,派生程度更大的类型. 逆变:能 ...
- 一张图搞定 .NET Framework, .NET Core 和 .NET Standard 的区别
最近开始研究.NET Core,有张图一看就能明白他们之前的关系. 上图己经能够说明.NET Framework和.NET Core其实是实现了 .NET Standard相关的东西,或者说Frame ...
- sql server 查看连接详情
SELECT * FROM [Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN ( SELECT [DBID] FROM [Master].[dbo].[SYS ...
- 在Angular4中使用ng2-baidu-map详解
一.引言 之前在Angular4使用过百度地图,记录一下踩过的坑 二.实现 1.安装 npm install angular2-baidu-map 2.在app.module.ts配置 ak key在 ...
- Jmeter参数化、检查点、集合点教程
在使用Jemeter做压力测试的时候,往往需要参数化用户名,密码以到达到多用户使用不同的用户名密码登录的目的,这个时候我们就可以使用参数化登录. 一.badboy录制需要的脚本.也可以用fiddler ...
- SQL的简单函数(极客时间)
SQL的函数 函数就是将我们经常使用的代码封装起来, 需要的时候直接调用, 提高代码效率和可维护性. SQL函数一般是在数据上执行, 可以方便地转换和处理数据. 常用的SQL函数 SQL提供了一些常用 ...
- python从入门到放弃之进程
在理解进程之前我们先了解一下什么是进程的概念吧 以下就是我总结的一些基本的进程概念 进程就是正在运行的程序,它是操作系统中,资源分配的最小单位(通俗易懂点也就是电脑给程序分配的一定内存操作空间).资源 ...
- centos安装elasticsearch-rtf5.5.4
安装jdk 我的博文里面有 https://www.cnblogs.com/vinic-xxm/p/11825691.html 安装elasticsearch-rtf git clone git:// ...
- [MySQL] 事务的ACID特性
事务的ACID特性: 原子性(atomicity):一个事务是一个不可分割的最小工作单位,事务中的所有操作要么都做,要么都不做. 一致性(consistency):事务前后数据的完整性必须保持一致.事 ...
- linux 的 expect 自动交互
https://www.jianshu.com/p/0194cbd70d39 https://www.cnblogs.com/saneri/p/10819348.html 参考 expect是一个自 ...