编辑
2022-09-22
Golang
00
请注意,本文编写于 791 天前,最后修改于 433 天前,其中某些信息可能已经过时。

目录

变量、常量的声明
变量的声明方式
常量的声明

变量、常量的声明

在Go语言中,变量或常量的数据类型必须先声明,才能使用,且无法将不相关的数据赋值给它们。

这是因为Go语言和Java、C、C++等语言一样,属于静态语言,静态语言具有更严谨的结构要求、调试便捷(可通过代码直观地看到数据类型)与确保类型安全(无法使用不同类型的数据赋值)的特点,必须要先做声明。而像PHP、Python、JavaScript等动态语言则没有这个限制。

从根本上说,静态类型和动态类型语言的最大区别就是:数据类型是否在编译时确定

变量的声明方式

变量使用 var 关键字进行声明

  • 没有初始化的声明:
go
// 此处声明了 a,但是没有初始化 var a string // 为 a赋值 a = "hello"
  • 带有初始化的声明
go
var a string = "Hello"
  • 多重声明
go
// 方式 1 var a, b string = "hello", "world" // 方式 2 var ( a string = "hello" b string = "world" )
  • 省略类型时,会被自动推断(隐式声明)
go
// go 语言会自动推断 a 为字符串类型 var a = "hello"
  • 简写声明

go 语言中,如果想要隐式声明,还想省略 var 关键字进行声明

可以使用简写声明 :=

go
a := "hello"

相关信息

短变量声明只能在函数中使用,在函数外,n1 赋值形式是错误的

go
package main // n1会报错 n1 := 100 func main() { n2 := 200 }

常量的声明

常量可以使用 const 关键字声明。常量是无法重新赋值的固定值

go
const a = "这个值不能修改"

提示

虽然常量不能修改,但是常量的值可以分配给其他常量

go
const a = 10 const b = a

注意

由于常量不能变更,所以不可以将变量分配给常量

go
var a = 10 // 这里是错误的行为 // a (variable of type int) is not constant (InvalidConstInit) const b = a

本文作者:Silon汐冷

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!