03-变量和作用域
1.01-包引用和引用顺序2.02-运算符号、标识符、注释、关键字
3.03-变量和作用域
4.02-常量(const)5.03-数组(array)6.04-切片(slice)7.05-map8.06-指针(pointer)9.07-通道(channel)10.08-结构体(struct)11.01-if语句12.02-for循环13.04-select语句14.03-switch语句15.make()、new()16.copy(切片间复制)17.append(增加切片成员)18.delete(删除map的成员)19.panic&recover20.03-匿名函数和闭包21.01-函数简单使用22.02-形参和实参23.04-递归函数24.05-方法25.06-接口(interface)26.01-并发27.02-携程通讯28.03-携程同步29.01-连接和建表30.02-创建数据31.03-基本查询32.04-高级查询33.05-初始化34.06-更新数据35.07-删除数据36.08 事务37.根据操作系统程序自动选择不同常量38.golang字串的base64编码解码39.golang数据类型转换40.golang 时间/时间戳的获取和转换目录
1 变量声明
1.1标准格式
var 变量名 变量类型 = 值
1.2 不声明类型
说明:此时 类型会自行判断
- 语法
var 变量名 = 值
1.3 不声明值(使用默认值)
- 语法
var 变量名 变量类型
- 默认值
1)数值类型(包括complex64/128)为 0
2)布尔类型为 false
3)字符串为 ""(空字符串)
4)以下几种类型为 int
var a *int var a []int var a map[string] int var a chan int var a func(string) int var a error // error 是接口
- 示例
package main import "fmt" func main() { var i int var f float64 var b bool var s string fmt.Printf("%v %v %v %q\n", i, f, b, s) }
1.4 :=
变量名 := 值
注意
:= 的写法只有在函数内才能生效,在函数外语法报错
如下图 sum := 0 在函数外定义语法报错
如果放在函数内,则语法检测通过
2. 多变量一次声明
2.1 相同类型变量
var vname1, vname2, vname3 type vname1, vname2, vname3 = v1, v2, v3 var vname1, vname2, vname3 = v1, v2, v3 vname1, vname2, vname3 := v1, v2, v3
2.2 不同类型的变量
var ( vname1 v_type1 vname2 v_type2 )
3. 变量作用域
3.1 局部变量
在函数体内声明的变量称之为局部变量
它们的作用域只在函数体内(参数和返回值变量也是局部变量)。
3.2 全局变量
在函数体外声明的变量称之为全局变量
全局变量可以在整个包甚至外部包(被导出后)使用。
全局变量与局部变量名称相同时,局部变量会被优先考虑
分类:
go语言开发 / go基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具