美文网首页
06-Go语言运算符

06-Go语言运算符

作者: 喝酸奶要舔盖__ | 来源:发表于2018-09-20 14:24 被阅读0次

算术运算符

  • Go语言算术运算符
1.C语言中算数运算符有
+ - * / %  ++ --
2.Go语言中的算数运算符和C语言一样
+ - * / %  ++ --
并且用法都一样
package main

import "fmt"

func main() {
    res1 := 1+1
    fmt.Println(res1)
    res2 := 5-3
    fmt.Println(res2)
    res3 := 3*4
    fmt.Println(res3)
    res4 := 4 % 3
    fmt.Println(res4)

    // 注意点: 在Go语言中,不允许将++ --写在变量前面,只能写在变量的后面
    num := 1
    //num++
    //++num  这种写法会报错
    fmt.Println(num)


    //注意点: 不同类型的常量(字面量)可以进行运算,不同类型的变量不能进行运算
    value := 3.2 * 4
    fmt.Println(value)

    value2 := 10
    num2 := 2
    res := value2 * num2
    fmt.Println(res)

    var num1 = 10
    var num2 = 20
    res := num2 /num1
    fmt.Println(res)

    //注意点: 两个字符串类型使用+运算符,是两个字符串拼接
    var str1 string = "wjh"
    var str2 string = "niuzi"
    res := str1 + str2
    fmt.Println(res)

    //注意点: 和其他语言不一样,Go语言不支持字符串和其他类型进行拼接
    //换句话说遵守不同类型不能进行运算
    var str = "wjh"
    num := 5
    res := str + num 会报错
    fmt.Println(res)
}

关系运算符

1.C语言中关系运算符
> < >= <= == !=
2.Go语言中关系运算符
> < >= <= == !=
注意点:
在Go语言中,没有非0即真的概念,所以关系运算符号返回的都是true或者false
关系运算符的优先级
不用记, 记住()最高即可
package main

import "fmt"

func main() {
    value1 := 10 > 5
    fmt.Println(value1)
    value2 := 10 < 5
    fmt.Println(value2)

    注意点: 不同的数据类型不能使用关系运算符比较,相同数据类型不同位也不能比较
    var num1 int32 = 10
    var num2 int64 = 20
    res1 := num1 >= num2 会报错
    fmt.Println(res1)

    num1 := 10
    num2 := 10
    //res := num1 == num2
    res := num1 != num2
    fmt.Println(res)
}

逻辑运算符

1.C语言中逻辑运算符
    && || !
2.Go语言中逻辑运算符
    && || !

注意点:
Go语言中逻辑运算符返回的都是true或者false
参与运算的表达式必须是布尔类型才可以
package main

import "fmt"

func main() {
    //&&一假则假
    res1 := (10 < 5) && (4 > 3)
    fmt.Println(res1)

    //参与运算的表达式必须是布尔类型才可以
    res2 := 1 && 0  会报错
    fmt.Println(res2)

    //逻辑或 || 一真则真
    res3 := (2 > 5) || (3 < 4)
    fmt.Println(res3)

    //逻辑非只能作用布尔类型的,没有非零即真的概念
    res4 := !(10>20)
    //res4 := !1
    fmt.Println(res4)
}

位运算符

    1.C语言中的位运算符有
    & | ^ << >>
    2.Go语言的位运算符号C语言一样
    & | ^ << >>
    多了一个 &^ 逻辑清零运算符

    3.位运算是专门用于计算二进制位的
    & 一假则假
    | 一真则真
    ^ 不同为真, 相同为假
    << 乘以2的左移多少次幂
    >> 除以2的右移多次次幂
package main

import "fmt"

func main() {
    // 0100
    //&0110
    // 0100
    a1 := 4
    b1 := 6
    res1 := a1 & b1
    fmt.Println(res1) //4

    // 0100
    //|0110
    // 0110
    a2 := 4
    b2 := 6
    res2 := a2 | b2
    fmt.Println(res2) //6

    // 0100
    //^0110
    // 0010
    //按位异或,不同为真1,相同为假0
    a3 := 4
    b3 := 6
    res3 := a3 ^ b3
    fmt.Println(res3) //2

    // << 左移几位就代表 *2的多少次幂
    num1 := 3
    res4 := num1 << 2
    fmt.Println(res4) //12

    // << 右移几位就代表 /2的多少次幂
    num2 := 16
    res5 := num2 >> 3
    fmt.Println(res5)

    //逻辑清零运算符 &^

    //  0100
    //&^0110
    //  0000

    //如果b的二进制位当前是1,则清零
    //如果b的二进制位当前不是1,则保留a的当前二进制位
    a4 := 4
    b4 := 6
    res6 := a4 &^ b4
    fmt.Println(res6) //0
}

其他运算符

1.C语言中的其它运算符
    & 取地址运算符
    * 访问地址运算符

2.Go语言中的其他运算符和C语言中的一样
    & 取地址运算符
    * 访问地址运算符
package main

import "fmt"

func main() {
    //注意点: 指针变量的数据类型必须和变量的数据类型相同,才能存储该变量的地址

    var num int64
    //定义一个int64类型的指针变量
    var p *int64
    //把num中的地址保存在指针p中
    p = &num
    //访问num中存储的数据
    fmt.Println(*p)
}

相关文章

  • 06-Go语言运算符

    算术运算符 Go语言算术运算符 关系运算符 逻辑运算符 位运算符 其他运算符

  • 06-Go语言接口(interface)

    1. 接口概念 1.1 什么是接口 把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个...

  • Java语言入门2

    Java语言中的运算符 算数运算符:+,-,*,/,%,++,-- 关系运算符:>,<,>=,<=,==,!= 布...

  • C语言基础教程之运算符

    C语言内置运算符丰富到令人头皮发麻,C语言基础教程之运算符篇 C语言运算符 运算符是告诉编译器执行特定数学或逻辑函...

  • 【初识C语言】C语言中的运算符

    C语言中的运算符 1运算符和表达式 C语言运算符是说明特定操作的符号,它是构造C语言表达式的工具。C语言的运算异常...

  • Python中的运算符

    1.1 概述 python语言支持以下的运算符: 算数运算符 比较运算符 赋值运算符 逻辑(关系)运算符 位运算符...

  • noip普及组1~2:语言入门、进阶

    语言入门 ①基本运算 算术运算符:+,-,*,/,%,++,-- 关系运算符:==,!=,>,<,>=,<= 逻辑...

  • Go语言基础之运算符

    运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算术运算符 运算符描...

  • 「C语言入门到精通」C语言运算符 第02课

    【C语言入门到精通】C语言运算符 第02课 主要内容: 1.赋值运算符,复合算术运算符 2.算术运算符 3.关系运...

  • Python3入门(二)运算符

    Python语言支持以下类型的运算符: 算术运算符 比较运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份...

网友评论

      本文标题:06-Go语言运算符

      本文链接:https://www.haomeiwen.com/subject/gmxnnftx.html