Go 语言变量

本文介绍了Go语言中变量的声明方式,包括指定类型、自动类型推断以及多变量声明。详细阐述了全局变量和局部变量的区别,并通过示例代码展示了它们在程序中的应用和作用。同时,解释了变量声明的规则,如不能重复声明已存在的变量。
摘要由CSDN通过智能技术生成

目录

1、变量声明

2、多变量声明

3、全局变量和局部变量 


1、变量声明

第一种:指定变量类型,如果没有初始化,则变量默认为零值

var num1 int = 123
var num2 float32	// num2 没有赋值,默认为 0
package main

import "fmt"

var num1 int = 123
var num2 float32

func main() {
	fmt.Println(num1)
	fmt.Println(num2)
}

输出结果:
123
0

第二种:根据值自行判定变量类型

package main

import "fmt"

var num = 456

func main() {
	fmt.Println(num)
}

输出结果:
456

第三种:如果变量已经使用 var 声明过了,再使用 := 声明变量,就产生编译错误

package main

import "fmt"

func main() {

    var a int          #这里a申明了两次,会报错
	a := 1
	fmt.Println(a)
}

//此时不会产生编译错误,因为有声明新的变量,因为 := 是一个声明语句
a := 1 相等于:
var a int 
a =1 
package main

import "fmt"

func main() {
	//相当于var a string = "hello"
	a := "hello"
	fmt.Println(a)
}

2、多变量声明

//类型相同多个变量, 非全局变量
var vname1, vname2, vname3 type
vname1, vname2, vname3 = v1, v2, v3

var vname1, vname2, vname3 = v1, v2, v3 // 和 python 很像,不需要显示声明类型,自动推断

vname1, vname2, vname3 := v1, v2, v3 // 出现在 := 左侧的变量不应该是已经被声明过的,否则会导致编译错误


// 这种因式分解关键字的写法一般用于声明全局变量
var (
    vname1 v_type1
    vname2 v_type2
)

3、全局变量和局部变量 

package main

import "fmt"

var (
	stu1 string
	stu2 string
	num1 int = 5
	num2 int
)

func main() {
	fmt.Println("num1=", num1)
	stu2 = "zch"
	num1 = 10
	fmt.Println("stu1=", stu1)
	fmt.Println("stu2=", stu2)
	fmt.Println("num1=", num1)
	fmt.Println("num2=", num2)

}

//输出结果为
num1= 5
stu1= 
stu2= zch
num1= 10
num2= 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值