Go - 类型与变量
类型
Go 语言中的类型与其他语言类似,比较特殊的有以下几个:
bool 类型 - 它的值只能是 true 与 false。
int / uint - 它们的长度会根据操作系统的不同(32/64 bit)的不同而有所区别。
保存指针的的32/64整形 - uintptr
引用类型 - slice, map, chan
类型的默认值(零值)
值类型的默认值为 0
bool 型为 false
string 型为 空字符串
单个变量的声明与赋值
声明: var <name> <type>
var nVal int32
赋值: <name> = <expression>
nVar = 100
声明+赋值: var <name> [type] = <expression>
var nVal int=100
var nVal = 100 //省略变量类型,有编译器自己推断
val := false //最简形式,同时省略 var 和 type
变量的类型转换
Go 语言不存在隐式转换,必须进行显式转换。此外,转换的时候还需要考虑类型兼容。
语法: valueA := typeofvalue(valueB)
// Demo2
package main
import (
"fmt"
)
func main() {
var valA float32 = 100.1
valB := int(valA)
fmt.Println(valB)
var valC float32
valC = float32(valA)
fmt.Println(valC)
}
输出结果为:
100
100.1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现