返回

**Go语言基础之变量和常量:《Go语言基础》**

后端

变量

变量用于存储数据,在程序运行时可以修改其值。变量的声明必须包含类型和变量名,类型用于指定变量存储的数据类型,变量名用于引用该变量。

例如:

var age int = 20
var name string = "John"

在上面的代码中,age是一个整数变量,name是一个字符串变量。age变量的值为20,name变量的值为"John"。

常量

常量与变量相似,但其值在程序运行时不能被修改。常量的声明必须包含类型、变量名和值,类型用于指定常量存储的数据类型,变量名用于引用该常量,值用于指定常量的值。

例如:

const PI float64 = 3.141592653589793
const G float64 = 6.674e-11

在上面的代码中,PI是一个浮点数常量,G是一个浮点数常量。PI常量的值是3.141592653589793,G常量的值是6.674e-11。

赋值

变量和常量都可以通过赋值运算符(=)进行赋值。赋值运算符的左边是变量或常量,右边是值。

例如:

age := 20
name := "John"

在上面的代码中,age变量被赋值为20,name变量被赋值为"John"。

类型推断

Go语言支持类型推断,即编译器可以根据变量或常量的值自动推断其类型。

例如:

var age = 20
var name = "John"

在上面的代码中,age变量的类型是int,name变量的类型是string。编译器根据age变量的值20推断出age变量的类型是int,根据name变量的值"John"推断出name变量的类型是string。

scope

scope是指变量或常量的作用域,即变量或常量可以在哪些地方被访问。

在Go语言中,变量或常量的scope可以是全局scope或局部scope。全局scope是指变量或常量可以在程序中的任何地方被访问,局部scope是指变量或常量只能在声明它们的函数或块中被访问。

例如:

var age int = 20 // 全局变量

func main() {
    var name string = "John" // 局部变量

    fmt.Println(age) // 可以访问全局变量age
    fmt.Println(name) // 可以访问局部变量name
}

在上面的代码中,age变量是全局变量,name变量是局部变量。main函数中的代码可以访问age变量和name变量,因为age变量是全局变量,name变量是局部变量。

总结

变量和常量是Go语言中的基本数据类型,用于存储数据。变量可以被修改,常量不能被修改。变量和常量都可以通过赋值运算符(=)进行赋值。Go语言支持类型推断,即编译器可以根据变量或常量的值自动推断其类型。变量或常量的scope可以是全局scope或局部scope。