Go语言基础运算 – 21运维
通知: .-...

Go语言基础运算

GO 21运维 155浏览

一,算术运算
整型、浮点、复数 支持 + – * /
%:取余只支持整型。
自增++和自减– :只支持整型
+:支持字符串,拼接两个或多个字符串内容
ps:
(1)/只取整,不会进行四舍五入。
(2)二元运算必须是同类型的数据。

package main

import (
   "fmt"
)
func main(){
   var a int =  100
   var b int = 200
   var c string = "Go"
   var d string = "语言"
   result1 := a+b
   result2 := a-b
   result3 := a*b
   result4 := a/b
   result5 :=a%b
   result6 := c+d
   fmt.Println(result1,result2,result3,result4,result5)
   fmt.Println(result6)
}

输出结果:
300 -100 20000 0 100
Go语言

错误案例说明:二元运算必须是同类型的数据,否则报错

var a int32 =  100
var b int64 = 200
sum :=a+b
fmt.Println(sum)
会直接报错: invalid operation: a + b (mismatched types int32 and int64)

二,位运算符
只适用于整型。了解。
二元位运算: 按位与& 、按位或|、按位异或^、位清除&^、位左移<<、位右移>>
一元位运算:按位补足^。^X等同与m^X,当X为无符号整型,全部位设置为1;当X为有符号整型,m=-1

package main

import (
   "fmt"
)
func main(){
   var a int8 = 1
   var b int8 = 2
   fmt.Printf("%b %b\n",a,b)
   fmt.Printf("%b %d\n",a & b,a & b)
   fmt.Printf("%b %d\n",a | b,a | b)
   fmt.Printf("%b %d\n",a ^ b,a ^ b)
}
输出结果:
1 10
0 0
11 3
11 3

三,比较运算
通过比较两个基本数据类型的数据大小决定结果为布尔值true或false。

比较运算符:
==、!=、>、< 、>=、< =

package main

import "fmt"
func main(){
   var a int = 1
   var b int = 2
   var x = 'A'
   var y = 'a'
   var c string = "hello"
   var d string = "Hello"
   fmt.Println(a == b)
   fmt.Println(a != b)
   fmt.Println(a > b)
   fmt.Println(a >= b)
   fmt.Println(a < b)
   fmt.Printf("字母x:%c 大于字母y:%c吗?:%v\n",x,y,(x > y ))
   fmt.Printf("字符串c:%s 大于字符串:%s吗?:%v\n",c,d,(c > d))
}

运行结果:
false
true
false
false
true
字母x:A 大于字母y:a吗?:false
字符串c:hello 大于字符串:Hello吗?:true

注意:不同类型的变量,进行比较会直接报错。

四,逻辑运算
逻辑与或非,主要用来做判断使用。
逻辑与:&&
逻辑或:||
逻辑非:!

package main

import "fmt"
func main(){
   var a int = 1
   var b int = 2
   var x int = 10
   var y int = 100
   var hostname *string
   fmt.Println((a>b) && (x<y ))
   fmt.Println((a>b) || (x</y><y ))
   fmt.Println(!(x<y))
   if hostname == nil{
      fmt.Printf("hostname is empty,please input hostname\n")
   }
}

输出结果:
false
true
false
hostname is empty,please input hostname

转载请注明:21运维 » Go语言基础运算