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--运算符的更多相关文章

  1. sdut 面向对象程序设计上机练习十(运算符重载)

    面向对象程序设计上机练习十(运算符重载) Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 定义一个复数类Complex,重载运算符"+" ...

  2. C#编程(四十)----------运算符重载

    运算符重载 所谓的运算符重载是指允许用户使用用户定义的类型编写表达式的能力. 例如,通常需要编写类似与以下内容的代码,入江两个数字相加,很明显,sum是两个数字之和. int i=5,j=4; int ...

  3. golang 运算符

    /* 算术运算符 : + - * / % ++ -- 关系运算符 : == != > < >= <= 逻辑运算符 : && || ! 赋值运算符 : = += ...

  4. golang运算与循环等

    一.golang运算符 1.算术运算符 + 相加- 相减* 相乘/ 相除% 求余++ 自增-- 自减 2.关系运算符 == 等于!= 不等于> 大于< 小于>= 大于等于<= ...

  5. C#运算符大全_各种运算符号的概述及作用

    一.[]方括号 ([]) 用于数组.索引器和属性,也可用于指针. 1.数组类型是一种后跟 [] 的类型:int[] fib = new int[100]; //创建一个有100元素的数组若要访问数组的 ...

  6. Golang语言的入门开始

    一.golang介绍与安装 二.golang-hello world 三.golang的变量 四.golang的类型 五.golang的常量 六.golang的函数(func) 七.golang的包 ...

  7. JavaScript---js语法,数据类型及方法, 数组及方法,JSON对象及方法,日期Date及方法,正则及方法,数据类型转换,运算符, 控制流程(三元运算),函数(匿名函数,自调用函数)

    day46 一丶javascript介绍 JavaScript的基础分为三个       1.ECMAScript:JavaScript的语法标准.包括变量,表达式,运算符,函数,if语句,for语句 ...

  8. python3笔记三:运算符与表达式

    一:学习内容 算术运算符:+(加).-(减).*(乘)./(除).%(取模).**(求幂).//(取整) 赋值运算符:= 复合运算符:+=.-=.*=./=.%=.**=.//= 位运算符:& ...

  9. C++_01_入门

    一.类的定义 Person.h类声明 Person.cpp类实现 main.cpp主函数 二.命名空间的使用 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv ...

  10. 从零开始学习前端JAVASCRIPT — 1、JavaScript基础

    1:定义:javascript是一种弱类型.动态类型.解释型的脚本语言. 弱类型:类型检查不严格,偏向于容忍隐式类型转换. 强类型:类型检查严格,偏向于不容忍隐式类型转换. 动态类型:运行的时候执行类 ...

随机推荐

  1. 转载一篇文章:LINQ TO SQL 大全

    https://www.cnblogs.com/chenwolong/p/lts.html 最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河 ...

  2. Ubuntu1404配置jdk-12.0.2并安装Android Studio教程

    最近在学习Android Studio 移动应用程序开发,但Android Studio好像对win10不太友好,所以小帅想在Ubuntu上安装Android Studio.为此小帅还去网上找了相关教 ...

  3. 自己动手搭建经典的3层 Asp.Net MVC

    1:IBaseDAL using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expr ...

  4. JS实现16进制和RGB转换

    作为前端开发而言,不可避免的会遇到颜色取值,字符串和数字直接的转换,博主为此写了一个小工具,实现色值之间的在线转换. 前置知识点: parseInt, toString parseInt(value ...

  5. iFrmae_HTML

    iframe(HTML框架) <iframe src="URL"></iframe> 该URL指向的页面 会显示在当前页面的一个窗口上,默认大小为 widt ...

  6. 英语AquilariaCrassna奇楠沉香

    越南奇楠沉香Aquilaria crassna是瑞香科沉香属植物. 奇楠香被喻为沉香中的钻石,其与身俱来的香气,淡雅宜人,汇集天地阴阳五行之气,而成为唯一能通三界之香品.长久以来,它被视为一种珍贵罕有 ...

  7. Hive的数据倾斜

    目录 什么是数据倾斜 Hadoop框架的特性 主要表现 容易数据倾斜的情况 产生数据清洗的原因 业务场景 空值产生的数据倾斜 不同数据类型关联产生数据倾斜 大小表关联查询产生数据倾斜 一.什么是数据倾 ...

  8. angular6 表单验证

    这里使用的是模型驱动的表单 1.app.module.ts import { ReactiveFormsModule } from '@angular/forms'; @NgModule({ ... ...

  9. rsync 服务端和客户端 简单配置

    环境:Centos 6.9 两台服务器,A(192.168.223.129) 和 B(192.168.223.130).A 作为服务端,B作为客户端从A服务器同步目录.把A的/usr/src 目录下的 ...

  10. Java面试题:JVM中的类加载机制

    JVM 的类加载机制是指 JVM 把描述类的数据从 .class 文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是 JVM 的类加载机制. 类 ...