算数运算符,加、减、乘、除、取余(%),同一个类型相除结果也是该类型,比如int类型相除,结果也为int类型。
func main() {
a := 10
b := 3
fmt.Println(a + b)
fmt.Println(a - b)
fmt.Println(a * b)
fmt.Println(a / b)
fmt.Println(a % b)
}
而同样,浮点数相除结果为浮点数,例如:
func main() {
c := 10.0
d := 20.0
fmt.Println(c / d)
}
自增,自减,多用于for循环中,例如:
func main() {
c := 10.0
d := 20.0
c++
fmt.Println(c)
d--
fmt.Println(d)
}
另外,除法中,除数不能为零,会在执行结果中报错。
赋值运算符,下面都是简写,其实还是写全了好,为了以后自己方便看懂(哈哈)。
func main() {
a := 10
b := 20
a += b
fmt.Println(a)
a -= b
fmt.Println(a)
a *= b
fmt.Println(a)
a /= b
fmt.Println(a)
a %= b
fmt.Println(a)
}
这是全写,我更喜欢这种写法。
func main() {
a := 10
b := 20
a = a + b
fmt.Println(a)
a = a - b
fmt.Println(a)
a = a * b
fmt.Println(a)
a = a / b
fmt.Println(a)
a = a % b
fmt.Println(a)
}
关系运算符,这个我感觉if语句中用的极多,下面这段代码返回结果为true或false,bool类型在上一篇文章中说过。
func main() {
a := 10
b := 20
fmt.Println(a == b)
fmt.Println(a != b)
fmt.Println(a > b)
fmt.Println(a < b)
fmt.Println(a >= b)
fmt.Println(a <= b)
}
逻辑运算符,逻辑非,逻辑与(&&),逻辑或(||),我感觉这个自己写一下更能直观地理解。
func main() {
a := 22
b := 11
c := a > b
//22>11,为真,加感叹号为假,不加感叹号为真
fmt.Println(!c) //逻辑非
d := true
e := true
f := false
g := false
//同真为真,其余为假
fmt.Println(d && e) //真
fmt.Println(d && f) //假
//其中一个条件为真时,都为真,条件都为假时,都是假
fmt.Println(d || e) //真
fmt.Println(d || f) //真
fmt.Println(f || g) //假
}
不管学啥语言都要写个计算闰年的题,我记得上学的时候也写过,记忆犹新啊,闰年可以被400整除,也可以被四整除,但是不能被100整除。
func main(){
var year int
fmt.Scanln(&year)
fmt.Println(year%400 == 0 || year%4 == 0 && year%100 != 0)
}
上面代码中用了fmt.Scanln(),功能为键盘输入。
进制转换这方面,二进制,八进制,十进制,十六进制。
二进制只有0和1,八进制是0-7,十进制是0-9,十六进制是0-15,其中10-15用字母A-F代表。
func main() {
a := 123
fmt.Printf("%b\n", a) //二进制
fmt.Printf("%o\n", a) //八进制
fmt.Printf("%d\n", a) //十进制
fmt.Printf("%x\n", a) //十六进制
}
一般go语言中,用到进制的概率极低,我感觉现在这计算器比人算的快多了。