加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

(十)golang--运算符

发布时间:2020-12-16 09:16:23 所属栏目:大数据 来源:网络整理
导读:1.算术运算符 + - ?* / % ++ -- 使用细节: (1)对于"/"号,整数除和小数除的区别; (2)++和--只能独立使用,即a=a++是不允许的;没有++a和--a;if a++ 0也是不合法的; 2.赋值运算符 = += -= *= /= %= = = = ^= |= 使用特点: (1)运算顺序从右往左;

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
    fmt.Println(num1
    fmt.Println(num2
    fmt.Println(

我这个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)
  • 算术运算符(+ - * / %)
  • 移位运算符(<< >>)
  • 关系运算符(< > <= >= 在 != == 之前)
  • 位运算符(依次按& ^ |)
  • 逻辑运算符(依次&& ||)
  • 赋值运算符(= += -= *= /= >>= <<= &= ^= |=)
  • 逗号

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读