go变量声明

本文详细介绍了Go语言中局部变量和全局变量的定义、初始化及使用方法,并提供了代码示例。此外,还讲解了变量类型自动推导和强制类型转换的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

局部变量

可以使用var或者“冒号等号”,如下:

// 局部变量定义
var name = "jack"
age := 13
fmt.Println(name, age, addr)

age = 20 // 修改值时不需要用冒号

多个变量可以同时声明和赋值,例如:

// 多个变量可以同时声明和赋值
var a, b, c = 1, 2, 3
fmt.Println(a, b, c)

r, pai := 10, 3.1415926
fmt.Println(r, pai)

以上变量在声明时都没有加变量类型,采用自动推导的形式,go也提供带变量类型的声明,例如:

var price float64 = 99.99
fmt.Println(price)

变量名在前,类型在后,这和C++、java不同。

注意:变量在声明后,必须要使用,不然无法编译

全局变量

全局变量必须使用var来声明,不能使用“冒号等号”这种方式

// 全局变量
// addr:="beijing"  // 错误的写法

// 全局变量必须使用var来声明
var addr = "beijing"

如果有多个全局变量,可以使用var小括号包裹,例如:

// 如果有多个全局变量,可以使用var小括号来同时定义
var (
	x = 100
	y = 100
	z = 100
)

代码如下:

package main

import "fmt"

// 全局变量
// addr:="beijing"  // 错误的写法

// 全局变量必须使用var来声明
var addr = "beijing"

// 如果有多个全局变量,可以使用var小括号来同时定义
var (
	x = 100
	y = 100
	z = 100
)

func main() {
	fmt.Println("hello world")

	// 局部变量定义
	var name = "jack"
	age := 13
	fmt.Println(name, age, addr)

	age = 20 // 修改值时不需要用冒号

	fmt.Println(x, y, z)

	// 多个变量可以同时声明和赋值
	var a, b, c = 1, 2, 3
	fmt.Println(a, b, c)

	r, pai := 10, 3.1415926
	fmt.Println(r, pai)
}

变量强制转换

go某些时候需要强制转换变量类型,例如在使用算数平方根时,需要进行类型转换,如下:

/*

强制类型转换

*/

package main

import (
	"fmt"
	"math"
)

func main() {
	var a int = 3
	var b int = 4

	//这里需要做强制类型转换
	var len int = (int)(math.Sqrt(float64(a*a + b*b)))

	fmt.Println("len = ", len)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值