go运算符

一、算术运算符

  • 列表
运算符 描述
  • | 相加
  • | 相减
  • | 相乘
    / | 相除
    % | 取余
    ++ | 自增
    -- | 自减

  • 实例

package main

import "fmt"

func main(){
	num1,num2 := 10,2
	fmt.Println(num1 + num2) // 12
	fmt.Println(num1 - num2) // 8
	fmt.Println(num1 * num2) // 20
	fmt.Println(num1 / num2) // 5
	fmt.Println(11 % num2) // 1
	num2++
	fmt.Println(num2) // 3
	num1--
	fmt.Println(num1) // 9
}

二、关系运算符

  • 列表
运算符 描述
== 等于 比较左右两边的值是否相等,相等返回true,否则为false
!= 不等于 比较左右两边的值是否不相等,不相等返回true,否则为false

| 大于 左边的值 大于 右边 则返回true,否则 为false
< | 小于 左边的值 小于 右边 则返回true,否则 为false
= | 大于等于 左边的值 大于等于 右边 则返回true,否则 为false
<= | 小于等于 左边的值 小于等于 右边 则返回true,否则 为false

  • 实例
package main

import "fmt"

func main(){
	num1,num2 := 3,4
	if num1 == num2 {
		fmt.Println("num1 和 num2 相等")
	}

	if num1 != num2 {
		fmt.Println("num1 和 num2 不相等")
	}

	if num1 > num2 {
		fmt.Println("num1 大于 num2")
	}

	if num1 < num2 {
		fmt.Println("num1 小于 num2")
	}

	if num1 >= num2 {
		fmt.Println("num1 大于相等 num2")
	}

	if num1 <= num2 {
		fmt.Println("num1 小于相等 num2")
	}

	// switch 用法 ,后面会着重讲解
	switch{
	case num1 == num2:
		fmt.Print("num1 和 num2 相等")
	case num1 != num2:
		fmt.Print("num1 和 num2 不相等")
	case num1 > num2:
		fmt.Print("num1 大于 num2")
	case num1 < num2:
		fmt.Print("num1 小于 num2")
	case num1 >= num2:
		fmt.Print("num1 大于相等 num2")
	case num1 <= num2:
		fmt.Print("num1 小于相等 num2")
	}

	// switch最后只会输出 num1 和 num2 不相等,其他不会输出
}

三、逻辑运算符

  • 列表
运算符 描述
&&
||
!
  • 举例
package main

import "fmt"

func main(){
	t1,t2 := true,false
	if t1 && t2{
		fmt.Println("t1,t2 都为真")
	}

	if t1 || t2{
		fmt.Println("t1,t2 有一个为真")
	}

	if !t2{
		fmt.Println("t2 为假,所以!t2 为真")
	}

	}

四、赋值运算符

  • 列表
运算符 描述
= 简单的赋值操作
+= 相加后再赋值
-= 相减后再赋值
*= 相乘后再赋值
/= 相除后再赋值
%= 取余后再赋值
  • 实例
package main

import "fmt"

func main(){
	var num int
	num1,num2 := 6,4
	num = num2
	num += num1
	fmt.Println(num) // 10
	num -= num2
	fmt.Println(num) // 6
	num *= num1
	fmt.Println(num) // 36
	num /= num2
	fmt.Println(num) // 9
	num %= num2
	fmt.Println(num) // 1

}

五、位运算符

  • 列表
运算符 描述
& 按位与运算符"&" 二进制且操作,两个二进制位 对应的二进制 相与
| 按位或运算符"
^ 按位异或运算符"^" 二进制或操作,两个二进制位 对应的二进制 相异
<< 左移运算符<< 左移n位就是乘以2的n次方

| 右移运算符">>" 右移n位就是除以2的n次方

  • 实例
package main

import "fmt"

func main() {

   var a uint = 60      /* 60 = 0011 1100 */  
   var b uint = 13      /* 13 = 0000 1101 */
   var c uint = 0          

   c = a & b       /* 12 = 0000 1100 */ 
   fmt.Printf("第一行 - c 的值为 %d\n", c )

   c = a | b       /* 61 = 0011 1101 */
   fmt.Printf("第二行 - c 的值为 %d\n", c )

   c = a ^ b       /* 49 = 0011 0001 */
   fmt.Printf("第三行 - c 的值为 %d\n", c )

   c = a << 2     /* 240 = 1111 0000 */     // 60 * 2^2
   fmt.Printf("第四行 - c 的值为 %d\n", c )

   c = a >> 2     /* 15 = 0000 1111 */    // 60 / (2^2)
   fmt.Printf("第五行 - c 的值为 %d\n", c )
}

如果喜欢看小说,请到183小说网

posted @ 2019-03-25 21:49  xiaobaiskill  阅读(176)  评论(0编辑  收藏  举报