golang #学习 #go 基础
声明变量
go 使用 var
声明变量,类似 JavaScript,但又不同,变量定义方式如下
// 声明单个变量
var name string;
// 声明 多个相同数据类型的变量,firstName lastName 均为 string 类型
var firstName, lastName string;
// 通过声明块来声明变量
var (
firstName, lastName string;
age int;
)
通过 var
关键字表明要声明变量,var
后接变量名称 再接 变量类型 即可实现变量的定义。和 Java 先声明数据类型,后确定变量名称的声明方式不同。
String name;
String firstName, lastName;
int age;
- 支持同时定义多个同类型变量;通过在变量名称后面添加逗号 (
,
)即可。 - 支持通过使用
var
关键字后面拼接括号的方式定义声明块,就像通过一个专用块来声明变量一样。
初始化变量
在 Go 中,可以通过多种方式初始化变量。 继续同一个示例,你可以使用此代码初始化每个变量:
// 声明单个变量
var name string = "BEATREE";
// 通过声明块来声明变量
// 通过声明块来声明变量
var (
firstName string;
lastName string = "Xiao";
age1 int;
age int = 18;
)
func main() {
fmt.Println(name); // BEATREE
fmt.Println(firstName); // 空白
fmt.Println(lastName); // Xiao
fmt.Println(age1); // 0
fmt.Println(age); // 18
}
如果我们再定义的适合就对变量进行初始化,则不需要指定其类型,因为当你使用具体值初始化该变量时,Go 会推断出其类型。 例如,你可以用此方式声明并初始化变量:
var (
firstName string;
lastName = "Xiao";
age1 int;
age = 18;
)
其他方式初始化变量
除了以上的方式外,还支持其他方式对变量进行初始化.
在单行中声明和初始化变量。 使用逗号将每个变量名称隔开,并对每个变量按顺序赋予值。
var (
firstName, lastName, age = "Eri", "Xiao", 18
)
通过使用 :=
方式,实现变量的定义与初始化,省去 var
声明
func main() {
firstName, lastName := "Eri", "Xiao"
age := 18
fmt.Println(firstName, lastName, age)
}
使用冒号等于号时,要声明的变量必须是新变量,否则会覆盖之前变量的值
func main() {
firstName := "test";
firstName, lastName := "Eri", "Xiao"
age := 18
fmt.Println(firstName, lastName, age) // Eri Xiao 18
}
且 不能在函数外部使用该种方式声明,也就是说只能定义局部变量,在声明函数外的变量时,必须使用 var
关键字执行此操作。
firstName := "test";
func main() {
fmt.Println(firstName, lastName, age)
}
// 编译报错:syntax error: non-declaration statement outside function body
变量必须被使用
在 Go 中, 当你声明了一个变量但不使用它时,Go 会抛出错误,而不是像某些其他编程语言一样抛出警告。
// 定义不使用的变量
func main() {
firstName := "test";
firstName, lastName := "Eri", "Xiao"
age := 32
fmt.Println(firstName, age)
// lastName 定义后未被使用
/* # command-line-arguments
package2\varibles.go:32:13: lastName declared and not used
*/
}
常量定义
我们有时需要在代码中使用不变的量,也就是常量。 Go 支持使用常量。 用于声明常量的关键字是 const
。
Java | Go |
---|---|
final String NAME = "BEATREE" |
const NAME = "BEATREE" |
与变量一样,Go 可以通过分配给常量的值推断出类型。 在 Go 中,常量名称通常以 混合大小写字母 或 全部大写字母书写。
如果需要在一个块中声明多个常量,可以按如下所示执行:
const (
StatusOK = 0
StatusConnectionReset = 1
StatusOtherError = 2
) // FROM MICROSOFT LEARN
常量和变量之间既有相似之处,也有一些重要差异。 例如:
- 可以在不使用常量的情况下声明常量,并且不会收到错误消息。go 中未使用的变量会被提示错误.
- 不能使用冒号等于号来声明常量。