一、常量
常量定义 :定义常量时没有指定类型,根据所赋的值确定。但是一定要注意不能写成 “:=” 的形式
程序运行期间,不可以改变的量 使用const创建常量,建议常量名称大写 不能打印常量地址 字面常量 :所谓字面常量(literal),是指程序中硬编码的常量
123:整型类型常量 156.78:浮点类型的常量 true:布尔类型的常量 “abc”:字符串类型的常量
func main ( ) {
const PI = 3.14
fmt. Printf ( "%.2f" , PI)
}
常量命名规范
只能由数字,字母,_(下划线)组成 不能以数字开头 大写字母和小写字母是不同的,但是建议全部大写 不能是关键字 见名知意 多个单词组成的名称,使用全大写字母书写,中间使用 _ (下划线)分隔:const APP_VER = "0.7.0.1110 Beta"
普通枚举 :go语言中特殊的常量 自增枚举iota :表示这组const的值是自增的 iota跳过使用
二、算术运算符
算符运算符
除法运算除数不能为0 取余运算除数不能为0 只有后自增,没有前自增 只有后自减,没有前自减
func main ( ) {
var num1 int = 20
var num2 int = 0
fmt. Println ( num1% num2)
var num int = 10
num--
fmt. Println ( "num= " , num)
}
func main ( ) {
const PI = 3.14
fmt. Println ( "请输入半径:" )
var r float64
fmt. Scan ( & r)
area := PI* r* r
p := 2 * PI* r
fmt. Printf ( "面积是%.2f\n" , area)
fmt. Printf ( "周长是%.2f" , p)
}
func main ( ) {
var chinese int = 90
var math int = 89
var english int = 69
score := chinese+ math+ english
avg := float64 ( score) / 3
fmt. Printf ( "总分为%d\n" , score)
fmt. Printf ( "平均分:%.2f" , avg)
}
func main ( ) {
var shirt int = 35
var trousers int = 120
totalMoney := shirt* 3 + trousers* 2
realMoney := float64 ( totalMoney) * 0.88
fmt. Printf ( "支付:%d" , int ( realMoney) )
}
三、赋值运算符
func main ( ) {
var num int = 10
num %= 2 + 3
fmt. Println ( "num=" , num)
}
四、关系运算符
func main ( ) {
var num1 int = 10
var num2 int = 20
sum := num1+ 20 > num2
fmt. Println ( "sum=" , sum)
}
五、逻辑运算符
逻辑运算符
逻辑运算的结果是bool类型 逻辑运算符两边放的一般都是关系运算或者bool类型的值 单目运算符 :指运算所需变量为一个的运算符,即在运算当中只有一个操作数;例如:++,–,!,&双目运算符 :运算所需变量为两个的运算符叫做双目运算符;例如:+,-,*,/, <=,>=等等
func main ( ) {
var num1 int = 10
var num2 int = 20
isResult := num1 > num2
fmt. Println ( "isResult=" , ! isResult)
fmt. Println ( ! ( num1 > num2) )
fmt. Println ( num1 > num2 && num1 == 10 )
fmt. Println ( num1 > num2 || num1 == 10 )
fmt. Println ( num1 < num2 || num1 > num2 && num1 != 10 )
}
六、运算符优先级
第一优先级 :特殊运算符
第二优先级 :单目运算符
第三优先级 :双目运算符
算符运算符:*,/, % 算符运算符:+,- 比较运算符:>,<,>=,<=,==,!= 逻辑运算符:&& 逻辑运算符:|| 赋值运算符:=, +=, -=, *=, /= 案例:判断闰年
func main ( ) {
fmt. Println ( "请输入要判断闰年的年份:" )
var year int
fmt. Scan ( & year)
b := year % 400 == 0 || year % 4 == 0 && year % 100 != 0
fmt. Println ( b)
}