Golang 变数


在Golang中,变量临时保存数据以供使用。 golang变量声明需要四件事:声明golang变量的声明,变量的名称,它可以保存的数据类型以及其初始值。幸运的是,其中一些部分是可选的,但这也意味着在golang中定义变量的方法不止一种。以下是有关golang变量的一些重要信息:

  • 高朗是静态类型的语言,这意味着声明golang变量时,即使在程序运行之前,它们也会显式或隐式地分配类型。
  • 高朗 requires that every 变种iable you declare inside main() function get used somewhere in your program.
  • 您可以将新值分配给现有变量,但是该值必须是同一类型。
  • A 变种iable declared within brace brackets {} may be accessed anywhere within the block. 的 opening curly brace { introduces a new scope that ends with a closing brace }. Inner blocks can access 变种iables within outer blocks. Outer blocks cannot access 变种iables within inner blocks.

声明Golang变量

关键字 变种 用于声明变量,后跟所需的名称和变量将持有的值的类型。

您可以声明变量而不分配值,然后再分配值。

package main

import "fmt"

func main() {
	var i int
	var s string

	i = 10
	s = "Canada"

	fmt.Println(i)
	fmt.Println(s)
}

执行上述语句后,变量i将保留值10,变量s将保留值Canada。


高朗变量的声明和初始化

值的赋值与变量的初始化一起发生。声明变量并稍后为其分配值同样有效。

package main

import "fmt"

func main() {
	var i int = 10
	var s string = "Canada"

	fmt.Println(i)
	fmt.Println(s)
}

整数字面量10分配给变量i,字符串字面量Canada分配给变量s。


变量声明省略类型

在声明时为变量分配值时,可以从声明中省略变量类型。分配给变量的值的类型将用作该变量的类型。

package main

import (
	"fmt"
	"reflect"
)

func main() {
	var i = 10
	var s = "Canada"

	fmt.Println(reflect.TypeOf(i))
	fmt.Println(reflect.TypeOf(s))
}

高朗中的短变量声明

:= 短变量赋值运算符指示正在使用短变量声明。无需使用var关键字或声明变量类型。

package main

import (
	"fmt"
	"reflect"
)

func main() {
	name :=  "John Doe"
	fmt.Println(reflect.TypeOf(name))
}

John Doe字符串文字将分配给name。


声明多个变量

高朗允许您将值赋给一行中的多个变量。

package main

import (
	"fmt"
)

func main() {
	var fname, lname string = "John", "Doe"
	m, n, o :=  1, 2, 3
	item, price :=  "Mobile", 2000

	fmt.Println(fname + lname)
	fmt.Println(m + n + o)
	fmt.Println(item, "-", price)
}

用括号括起来的Golang变量的范围

高朗使用基于代码块的词法作用域来确定变量的范围。内部块可以访问其外部块定义的变量,但是外部块不能访问内部块定义的变量。

package main

import (
	"fmt"
)

var s = "Japan"

func main() {
	fmt.Println(s)
	x :=  true

	if x {
		y :=  1
		if x != false {
			fmt.Println(s)
			fmt.Println(x)
			fmt.Println(y)
		}
	}
	fmt.Println(x)
}
注意,短变量声明仅用于声明局部变量,即在函数内声明的变量。在函数外声明变量时,必须使用var关键字来声明。

高朗变量的命名约定

以下是命名Golang变量的以下规则:

  • 名称必须以字母开头,并且可以具有任意数量的其他字母和数字。
  • 变量名不能以数字开头。
  • 变量名称不能包含空格。
  • 如果变量名以小写字母开头,则只能在当前包中访问它,这被认为是 未出口 变量。
  • 如果变量的名称以大写字母开头,则可以从当前程序包之外的其他程序包中访问它,这被认为是 出口的 变量。
  • 如果名称由多个单词组成,则第一个单词之后的每个单词都应大写,例如:empName,EmpAddress等。
  • 变量名称区分大小写(car,Car和CAR是三个不同的变量)。

零值

如果您在声明变量时未为其赋值,Golang会自动将默认值(或零值)绑定到该变量。

package main

import "fmt"

func main() {
	var quantity float32
	fmt.Println(quantity)

	var price int16
	fmt.Println(price)

	var product string
	fmt.Println(product)

	var inStock bool
	fmt.Println(inStock)
}

编译并执行上述代码后,将产生以下结果-

0
0

false

高朗变量声明块

变量声明可以分组在一起,以提高可读性和代码质量。

package main

import "fmt"

var (
	product  = "Mobile"
	quantity = 50
	price    = 50.50
	inStock  = true
)

func main() {
	fmt.Println(quantity)
	fmt.Println(price)
	fmt.Println(product)
	fmt.Println(inStock)
}
您将在我们的网站中了解有关常量的更多信息 高朗常数.