Go编程基础03-类型与变量

本文深入探讨了Go语言的基本类型,包括布尔型、整型、浮点型、复数型等,详细阐述了每种类型的长度、取值范围及零值,并通过代码示例展示了变量的声明、赋值及类型转换过程。

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

Go基本类型

类型长度取值范围注意事项零值(即默认值)
布尔型bool1字节true/false不能使用数字代替false
整型int/uint根据运行平台可能为32位或64位0
8位整型int8/uint81字节-128-127/0-2550
字节型byte(uint8别名)用法等同于无符号的8位整型0
16位整型int16/uint162字节-32768-32767/0-655350
32位整型int32(rune别名)/uint324字节rune常用于Unicode,用法等同于有符号的32位整型0
64位整型int64/uint648字节0
浮点型float32/float644/8字节小数位精确到7/15位小数位0
复数complex64/complex1288/16字节0
足够保存指针的32位或64位整数型uintptr0

范例:验证基本类型零值和最大最小值

package main

import (
	"fmt"
	"math"
)

func main() {
	var a int
	fmt.Println(a) // 0
	var b float32
	fmt.Println(b) // 0
	var c bool
	fmt.Println(c) // false
	var d byte
	fmt.Println(d) //0
	// go中的math包可以取得基本类型的最大值和最小值
	fmt.Println(math.MaxFloat32)
}

变量

单个变量的声明与赋值

声明格式:var 变量名 变量类型
赋值格式:变量名 = 表达式
声明的同时赋值:var 变量名 变量类型 = 表达式

package main

import (
	"fmt"
	)

func main() {
    // 先声明后赋值多用于全局变量声明
	var a int // 声明变量
	a = 11    // 变量赋值
	fmt.Println(a)

	// 声明的同时并赋值
	var b int = 12
	fmt.Println(b)

	// 声明时省略类型,由系统推断
	var c = false
	fmt.Println(c)

	// 简短声明,仅用于局部变量
	d := 18.9
	fmt.Println(d)
}

多个变量的声明与赋值

  • 全局变量声明可使用var()的方式简写
  • 全局变量的声明不能省略var,但可以使用并行方式
  • 所有变量都能省略类型,由系统推断
  • 局部变量不能使用var()的方式简写,只能使用并行方式
package main

import (
	"fmt"
	)

var (
	// 常规方式
	aa = 123
	// 并行声明
	bb, cc = 56, false
)

func main() {
	// 多个变量声明
	var a, b int
	// 多个变量赋值
	a, b = 11, 13
	fmt.Println(a + b)
	
	// 多个变量声明的同时赋值
	var c, d int = 6, 7
	fmt.Println(c + d)
	// 多个变量声明时省略类型
	var e, f = 8, 1
	fmt.Println(e + f)
	// 多个变量简短声明
	g, h := 11, 15
	fmt.Println(g + h)
}

变量的类型转换

  • Go中不存在隐式转换(即自动转换),所有类型转换必须显式声明(即强制转换)
  • 转换只能发生在两种互相兼容的类型之间
  • 类型转换格式:valueA [:]= TypeofValueA (valueB)
package main

import (
"fmt"
)

func main() {
	// 整数型与浮点型兼容,可以进行类型转换
	var a float32 = 100.1
	fmt.Println(a) // 100.1
	b := int(a)
	fmt.Println(b) // 100
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会画画的画师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值