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. java架构之路-(nginx使用详解)nginx的反向代理和优化配置

    书接上回说,nginx我们学会了简单的配置.那么我今天来聊一下,我们ngxin的一些优化配置(我不是很懂,不敢谈高级配置).我先来看一下nginx的好处和正向代理. nginx的好处 1.可以高并发连 ...

  2. C# 刷遍 Leetcode 面试题系列连载(3): No.728 - 自除数

    前文传送门: C#刷遍Leetcode面试题系列连载(1) - 入门与工具简介 C#刷遍Leetcode面试题系列连载(2): No.38 - 报数 系列教程索引 传送门:https://enjoy2 ...

  3. Javaweb常用解决问题连接

    1.javaweb的idea如何创建及配置web项目 https://www.jianshu.com/p/8d49d36a3c7e 2.servlet的建立以及部署 https://blog.csdn ...

  4. JDK1.8新特性——Stream API

    JDK1.8新特性——Stream API 摘要:本文主要学习了JDK1.8的新特性中有关Stream API的使用. 部分内容来自以下博客: https://blog.csdn.net/icarus ...

  5. 百度地图分布图(百度地图api司机位置实时定位分布图)

    就类似于我们使用共享单车app的时候,可以看到我们周围的空闲单车分布.e代驾在后台管理系统需求里也有此功能,目的是为了实时看到目标城市下的所有司机状态. 一.controller //controll ...

  6. Qt我的文档 桌面路径

    我的文档 QString location = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation); 桌面 QStr ...

  7. ANDROID培训准备资料之四大组件的简单介绍

    Android四大组件是一个android app 最基本的组成部分,这篇博客主要给大家简单的介绍一下四种组件 (1)Activities (2)Services (3)BroadcastReceiv ...

  8. linux (09) nginx反向代理,负载均衡

    一.nginx域名分配 1.创建一个新的服务器 server server{ listen 80; server_name www.s15oumei.com; #定义访问域名 location / { ...

  9. css,区别pc端ipad端的样式

    摘自: http://blog.csdn.net/pm_mybook/article/details/54602107 /* 横屏 */ @media all and (orientation:lan ...

  10. Oracle告Google输了

    Oracle告Google输了 boxi • 2016-05-27 • 大公司 Google表示,陪审团的认定代表了Android生态体系.Java开发社区以及依靠开放免费编程语言开发创新消费者产品的 ...