初识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 ':='


相关文章
|
6月前
|
存储 安全 编译器
掌握Go语言:探索Go语言中的变量,灵活性与可读性的完美结合(4)
掌握Go语言:探索Go语言中的变量,灵活性与可读性的完美结合(4)
|
7天前
|
存储 编译器 Go
go语言中的变量、常量、数据类型
【11月更文挑战第3天】
24 9
|
3月前
|
Go
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
|
3月前
|
安全 Go
|
3月前
|
自然语言处理 Go 开发者
深入理解Go语言中的变量作用域
【8月更文挑战第31天】
26 0
|
5月前
|
存储 安全 Go
【Go语言精进之路】构建高效Go程序:掌握变量、常量声明法则与iota在枚举中的奥秘
【Go语言精进之路】构建高效Go程序:掌握变量、常量声明法则与iota在枚举中的奥秘
66 2
|
5月前
|
算法 编译器 Go
Go语言中,常量和变量的定义和使用
Go语言中,常量和变量的定义和使用
|
5月前
|
Go
go:embed cannot apply to var inside【已解决】
go:embed cannot apply to var inside【已解决】
34 2
|
6月前
|
Go CDN
Go 语言变量作用域
Go 语言变量作用域
37 4
|
5月前
|
Go
go反射获取变量类型、值、结构体成员、结构体方法
go反射获取变量类型、值、结构体成员、结构体方法