初识go变量,使用var和:=来声明变量,声明变量的三种方式

简介: 这篇文章介绍了Go语言中使用`var`和`:=`声明变量的三种不同方式,包括声明单个或多个变量、通过值确定数据类型以及在函数体内使用`:=`声明局部变量。

初识go变量,使用var和:=来声明变量,声明变量的三种方式

Go语言的变量名由字母、数字、下划线组成,其中首个字符不能为数字。

tip:(Go语言中的变量的规范,也和其他高级语言相同)

声明变量的一般形式是使用 var 关键字:

var 变量名 数据类型

三种Go变量的定义方式:

1. 使用var声明单个或多个变量,同时确定数据类型

// 声明单个变量
var 变量名 数据类型
// 一次性声明多个变量
var 变量名1,变量名2,变量名3,... 数据类型

例子:

package main
import "fmt"
func main(){
   
    // 声明单个变量
    var a string // 默认值为空字符串
    // 声明单个变量并且赋值
    var b string = "张三"
    // 声明多个变量,同时赋初始值
    var c,d,e string = "李四","王五","赵六"
    // 打印输出
    fmt.Println(a,b,c,d,e)//  张三 李四 王五 赵六
}

2. 使用var声明单个或多个变量,通过其变量值确定数据类型

// 声明并且初始化单个变量,其数据类型由编译器来确定
var a = "hello"
// 声明并且初始化多个变量,其数据类型由编译器来确定
var b,d = "小猫",14

例子:

package main 
import "fmt"
func main(){
   
    // 通过值来确定其数据类型
    var a = "hello"
    var b,d = "小猫",14
    fmt.Printf("%s\t,%s\t,%d",a,b,d)// hello   ,小猫   ,14
}

3. 使用 := 声明变量

变量名 :=// 通过值来确定其数据类型(编译器去完成)

例子:

package main
import "fmt"
func main(){
   
    a := "world"
    /*
        上面的这句代码等同于
        var a string
        a = "world"
    */
    fmt.Println(a)
}

使用:=来声明变量时,需要注意的是,如果变量已经使用var 声明过了,那么再接着使用:=去声明变量就会产生编译错误。

:=是使用变量的首选形式,但是它只能被用在函数体内,而不可以用于全局变量的声明与赋值。使用操作符 := 可以高效地创建一个新的变量,称之为初始化声明。

​ 在代码块中不能使用:=来再次对相同名称的变量进行初始化声明,比如下面的例子:

package main
import "fmt"
func main(){
   
    number1 := 123
    number1 := 245
    fmt.Println(number1)
}

在这里插入图片描述
提示: No new varibales on the left side of ':='


相关文章
|
存储 安全 编译器
掌握Go语言:探索Go语言中的变量,灵活性与可读性的完美结合(4)
掌握Go语言:探索Go语言中的变量,灵活性与可读性的完美结合(4)
181 0
|
Go 容器
Go语言变量与常量 -《Go语言实战指南》
本章详细介绍了Go语言中变量与常量的基础知识。变量支持多种声明方式,包括标准声明、类型推导和短变量声明等,未初始化的变量会自动赋零值。常量在声明时必须赋值,且运行时不可更改,支持使用`iota`实现枚举。两者的主要区别在于变量可变而常量不可变,变量有零值而常量必须初始化。此外,还强调了`:=`的使用限制及代码整洁性要求,并通过实践示例巩固理解。掌握这些内容是学好Go语言的关键基础。
|
存储 编译器 Go
go语言中的变量、常量、数据类型
【11月更文挑战第3天】
221 9
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
|
存储 安全 Go
【Go语言精进之路】构建高效Go程序:掌握变量、常量声明法则与iota在枚举中的奥秘
【Go语言精进之路】构建高效Go程序:掌握变量、常量声明法则与iota在枚举中的奥秘
310 2
|
算法 编译器 Go
Go语言中,常量和变量的定义和使用
Go语言中,常量和变量的定义和使用
|
Go
go:embed cannot apply to var inside【已解决】
go:embed cannot apply to var inside【已解决】
209 2
|
Go CDN
Go 语言变量作用域
Go 语言变量作用域
300 4
|
安全 Go
|
自然语言处理 Go 开发者
深入理解Go语言中的变量作用域
【8月更文挑战第31天】
241 0

热门文章

最新文章