Go变量和常量

Go变量和常量

Go变量

  • Go的变量和C一样, 都是要求必须是字母,数字, 下划线组成, 且数字不能开头, 变量区分大小写, 并且变量名字不可以和关键字重名
  • Go的关键字大部分如下图:
    在这里插入图片描述

Go变量的声明

  • Go变量声明是如下的语法
var 变量的名称 变量的类型
例如:
var param int
  • Go变量只声明不进行赋值默认是0

注意:
Go的语法要求很严格, 变量声明之后不使用这在c++之中顶多就是个warning, 但是在Go之中就会报错, package也是如此, 这点需要注意

  • 同一个作用域之内变量不可以重复声明
  • 范例代码
package main

import "fmt"

func main() {
	var param int
	fmt.Println("param = ", param)

	param = 100
	fmt.Println("param = ", param)
}

Go变量的初始化

  • 初始化就是声明的时候同时进行赋值
语法如下:
var 变量名称 变量类型 = 变量值
  • Go之中还有和python类似的自动推断类型初始化, 语法如下:
变量名称 := 变量值
  • 范例代码:
package main

import "fmt"

func main() {
	var param int = 10
	fmt.Println("param = ", param)

	param2 := 100
	fmt.Println("param2 = ", param2)
}

Go多重赋值

  • Go变量的赋值和python一样, 可以多重赋值, 例:
package main

import "fmt"

func main() {
	var param1, param2 int
	param1, param2 = 10, 10
	fmt.Println(param1, param2)
}
  • Go变量的初始化也是可以多重初始化的:
package main

import "fmt"

func main() {
	param1, param2 := 10, 10
	fmt.Println(param1, param2)
}

Go匿名变量

  • Go之中有一类非常特殊的变量, 叫做匿名变量, 就是一个单下划线, 常和函数结合在一起使用
  • 匿名变量无法打印值, 否则会报如下的错误:
cannot use _ as value

Go常量

  • var是变量, const就是常量, 常量在声明的时候必须初始化
  • 常量的自动类型推断只需要 = , 不需要:=
package main

import "fmt"

func main() {
	const param int = 10
	fmt.Println(param)

	const param2 = 10.0
	fmt.Println(param2)
}
  • 如果用:=, 会报如下错误:
syntax error: unexpected :=, expecting =

Go多重声明

  • 先看代码:
package main

import "fmt"

func main() {
	var (
		param1 int = 1
		param2 float64 = 2.0
	)

	fmt.Println(param1, param2)

	const (
		param3 int = 10
		param4 float64 = 10.0
	)

	fmt.Println(param3, param4)
}
  • 多重声明就是同时声明多个变量或者常量, 这些var/const可以是不同数据类型的
  • 声明的形式就是在()之中进行声明

猜你喜欢

转载自blog.csdn.net/weixin_43891775/article/details/113060724