Golang 教程
Golang 控制语句
Golang 函数 & 方法
Golang 切片 & 数组
Golang 结构体
Golang 字符串
Golang 接口
Golang 指针
Golang 并发
Golang 异常(Error)
Golang 其他杂项

Go 短变量声明运算符(:=)

时间:2023年06月10日 阅读:196
以下内容仅是站长或网友个人学习笔记、总结和研究收藏。不保证正确性,因使用而带来的风险与本站无关!
淘客轩-衣食住行外卖生活好助手

Golang中的短变量声明运算符(:=)用于创建具有适当名称和初始值的变量。 使用此操作符的主要目的是在函数内声明和初始化局部变量,并缩小变量的作用域。变量的类型由表达式的类型决定。var关键字还用于创建特定类型的变量。所以你可以说在Golang中有两种创建变量的方法,如下所示:

  • 使用var关键字

  • 使用短变量声明运算符(:=)

在本文中,我们将仅讨论短变量声明运算符。要了解var关键字,可以在Go中引用var关键字

使用短变量声明运算符的语法:

variable_name := 表达式 或 值

在这里,必须在声明后立即初始化变量,无需提及变量的类型, 右侧的表达式或值用于评估变量的类型。而使用var关键字可以避免在声明时进行初始化

示例:在这里,我们使用短声明运算符声明变量,而未指定变量的类型。变量的类型由:=运算符右侧的表达式类型决定。

package main

import "fmt"

func main() {

    //声明和初始化变量
    a := 30

    //接受一个字符串变量
    Language := "Go 语言MOMO教程"

    fmt.Println("a的值为: ", a)
    fmt.Println("Language的值: ", Language)

}

输出:

a的值为:  30
Language的值:  Go 语言MOMO教程

使用短声明运算符(:=)声明多个变量

短声明运算符也可以用于在单个声明中声明相同类型或不同类型的多个变量。这些变量的类型由:=运算符右侧的表达式评估。

package main

import "fmt"

func main() {

    //多个相同类型的变量(int)
    momojc1, momojc2, momojc3 := 117, 7834, 5685

    //不同类型的多个变量
    momojc4, momojc5, momojc6 := "GFG", 859.24, 1234

    //显示值和变量类型
    fmt.Printf("momojc1 的值为 : %d\n", momojc1)
    fmt.Printf("momojc1 的类型为 : %T\n", momojc1)

    fmt.Printf("\nmomojc2 的值为 : %d\n", momojc2)
    fmt.Printf("momojc2 的类型为 : %T\n", momojc2)

    fmt.Printf("\nmomojc3 的值为 : %d\n", momojc3)
    fmt.Printf("momojc3 的类型为 : %T\n", momojc3)

    fmt.Printf("\nmomojc4 的值为 : %s\n", momojc4)
    fmt.Printf("momojc4 的类型为 : %T\n", momojc4)

    fmt.Printf("\nmomojc5 的值为 : %f\n", momojc5)
    fmt.Printf("momojc5 的类型为 : %T\n", momojc5)

    fmt.Printf("\nmomojc6 的值为 : %d\n", momojc6)
    fmt.Printf("momojc6 的类型为 : %T\n", momojc6)

}

输出:

momojc1 的值为 : 117
momojc1 的类型为 : int

momojc2 的值为 : 7834
momojc2 的类型为 : int

momojc3 的值为 : 5685
momojc3 的类型为 : int

momojc4 的值为 : GFG
momojc4 的类型为 : string

momojc5 的值为 : 859.240000
momojc5 的类型为 : float64

momojc6 的值为 : 1234
momojc6 的类型为 : int

:=声明的是局部变量还是全局变量?

借助短变量声明操作符(:=),您只能声明仅具有块级作用域的局部变量。通常,局部变量在功能块内部声明。如果尝试使用short声明运算符声明全局变量,则会抛出错误消息。

package main  
    
import "fmt"
    
//使用var关键字进行声明
//并初始化变量
//它是包变量,或者你可以说全局范围
var momojc1 = 900  
    
//使用简短的变量声明
//它会抛出一个错误
momojc2 := 200  
    
func main() {  
    
//在函数内部访问momojc1
fmt.Println(momojc1)  
   
// 在函数内部访问momojc2
fmt.Println(momojc2)  
        
}

输出错误:

.\test.go:12:1: syntax error: non-declaration statement outside function body
#.\test.go:12:1:语法错误:函数主体外的非声明语句
package main

import "fmt"

//使用var声明一个全局变量
var momojc1 = 900

func main() {

    //使用简短的变量声明
    //在主函数中
    //它具有局部作用域,即不能
    //在主函数之外访问
    momojc2 := 200

    //在函数内部访问momojc1
    fmt.Println(momojc1)

    //在函数内部访问momojc2
    fmt.Println(momojc2)

}

输出:

900
200
打赏

本文地址:https://www.momojc.cn/golang/go-short-variable-declaration-operator.html

上一篇:Go 类型转换
下一篇:Go 开发环境安装

关于本站 | 隐私政策 | 免责声明 | 广告合作 | 我要投稿 | 后台管理

CopyRight © 2023-2024 MOMO教程 WWW.MOMOJC.CN , All Rights Reserved.

站长E-mail:378074730@qq.com 网站已运行:  运行时长:0.039 秒

京ICP备20029690号-1京ICP备20029690号-2 京公网安备11011402013892号京公网安备11011402013892号 中国互联网违法和不良信息举报中心 网络违法犯罪举报网站

本网站托管于 腾讯云 .由网站卫士提供网站加速和攻击防御服务 提供CDN加速/防御服务.由zblogcn强力驱动 又拍云提供CDN加速/云存储服务 51la网站统计