算数运算符
1、加号+
整数
加法运算符
字符串拼接
package main
import "fmt"
func main() {
//正数
var n1 int = +10
fmt.Println(n1)
//加法运算符
var n2 int = 4 + 5
fmt.Println(n2)
//字符串相加
var s1 string = "abc" + "def"
fmt.Println(s1)
}
2、除号/
整型数/整型数=整型数
若有浮点类型参与运算,则结果为浮点型
3、取模%
相当于a%b=a-a/b*b
4、自增++、自减--
go语言中,++,--只能单独使用,不能参与到计算中
只能跟在变量后面,不能放在变量前面
++a,--a为错误写法
var a int = 10
a++
fmt.Println(a)
a--
fmt.Println(a)
赋值运算符
赋值运算符:=,+=,-=,*=,/=,%=
赋值运算符就是将某个运算后的值,赋值给指定变量
var num int = 10
num += 20
//num = num + 20
关系运算符
==判断两侧值是否相等,相等返回true,不相等返回false
!=判断不等
>,<,>=,<=
关系运算符的结果都是bool型,要么是true,要么是fasle
逻辑运算符
&& 逻辑与:两个数值或表达式中只要有一个false则结果为false
|| 逻辑或:两个数值或表达式中只要有一个true则结果为true!
! 逻辑非:取相反的结果
其他运算符
&返回变量的存储地址
*获取指针对应的数值
package main
import "fmt"
func main() {
var number int = 5
//声明变量number赋值为5
var value int = *(&number)
//通过间接运算符加取地址运算符获取number的值
fmt.Println(value)
//输出value,发现value值与number值相等
fmt.Println("number的地址为:", &number)
//打印number的地址
var prt *int = &number
//定义一个指针prt指向number的地址
fmt.Println(prt)
//输出prt值,预计和&number所得结果一样
fmt.Println("prt这个指针对应的具体数值为:", *prt)
//用间接运算符获取prt所对应的具体数值
*prt = 100
//利用指针修改number的值
fmt.Println(number)
//指针的最大作用是构造数据结构,将不连续的内存空间连接到一起
// 例如数据结构链表,数据域用于存储相应的数据,
// 指针域用于存储下一个节点的地址,这些节点通过指针相连之后形成了链表
// 例如节点1与节点2链接,就是在节点1的next域中存储节点2的地址
// 通过这个地址可以从节点1找到节点2
}
运行结果为:
5
number的地址为: 0xc0000180a8
0xc0000180a8
prt这个指针对应的具体数值为: 5
100
指针部分为C++学的迁移的,如有错误欢迎指出,我是真的很菜,可能理解的不对。
获取用户端输入
fmt.Scanln(&age)
fmt.Scanf("%d %s %f %t", &age, &name, &score, &isVIP)
这个在输出中无法键入,每天一个新问题,真好
解决办法参考(15条消息) 【VSCode2019】解决控制台无法输入的问题_scarletchow318的博客-CSDN博客