GoLang 基础语法(一)
一.变量的使用
- 变量必须先定义才能使用
- go语言是静态语言,要求变量的类型和赋值的类型必须一致。
- 变量名不能冲突。(同一个作用域内不能冲突)
- 简短定义方式,左边的变量名至少有一个是新的
- 简短定义方式,不能定义全局变量。
- 变量的零值。也叫默认值。
- 变量定义了就要使用,否则无法通过编译。
func main() {
var num int
num = 10
fmt.Printf("num1:%d\n", num)
var num2 int = 20
fmt.Printf("num2:%d\n", num2)
var name = "zzs"
fmt.Printf("%T,%s\n", name, name)
sum := 100
fmt.Println(sum)
var a, b, c int = 10, 20, 30
fmt.Println(a, b, c)
var a1, b1 = 10, "zzs"
fmt.Println(a1, b1)
var (
studentName = "zzs"
age = 18
sex = "男"
)
fmt.Println(studentName, age, sex)
}
二.常量的使用
- 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型
- 不曾使用的常量,在编译的时候,是不会报错的
- 显示指定类型的时候,必须确保常量左右值类型一致,需要时可做显示类型转换。这与变量就不一样了,变量是可以是不同的类型值
func main() {
var arr []int
fmt.Println(arr)
fmt.Println(arr == nil)
fmt.Printf("%p", &arr)
fmt.Println("=================================")
const TEST1 int = 1
const NAME = "zzs"
const (
Idle = 0
Run int = 1
Jump int = 2
)
fmt.Println(TEST1)
fmt.Println(NAME)
fmt.Println(Idle)
const (
a int = 100
b
c string = "zzs"
d
e
)
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
fmt.Println(e)
fmt.Println("---------------------------")
const (
a1 = iota
b1
c1
d1 = "zzs"
e1 = iota
)
fmt.Println(a1)
fmt.Println(b1)
fmt.Println(c1)
fmt.Println(d1)
fmt.Println(e1)
}
三.算数运算符
- 没有–i这种操作,i++也只能单独进行
func main() {
var a int8 = 10
var b int16 = 20
a = int8(b)
fmt.Println(a)
var c float32 = 3.52
fmt.Println(int(c))
fmt.Println("--------------------------------")
var a1 int = 10
var a2 int = 3
var sum = a1 + a2
fmt.Println(sum)
var sum1 = a1 - a2
fmt.Println(sum1)
var sum2 = a1 * a2
fmt.Println(sum2)
var sum3 = a1 / a2
fmt.Println(sum3)
var sum4 = a1 % a2
fmt.Println(sum4)
a1++
fmt.Println(a1)
a1--
fmt.Println(a1)
}
四.关系逻辑运算符,等于运算符
func main() {
a := 3
b := 10
c := 3
res1 := a > b
res2 := b > c
fmt.Println(res1)
fmt.Println(res2)
fmt.Println(a == c)
fmt.Println(c != b)
var b1 bool = false
var b2 bool = true
fmt.Println(b1 && b2)
fmt.Println(b1 || b2)
fmt.Println(!b1)
c += 1
fmt.Println(c)
c *= 3
fmt.Println(c)
}
五.键盘打印和输出
func main() {
var x int
var y float32
fmt.Scanln(&x, &y)
fmt.Println(x, y)
fmt.Scanf("%d,%f", &x, &y)
fmt.Println(x, y)
reader := bufio.NewReader(os.Stdin)
var s1, _ = reader.ReadString('\n')
fmt.Println(s1)
}
版权声明:本文为zzzsss123333原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。