03-变量和作用域

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 在函数外定义语法报错
image.png

如果放在函数内,则语法检测通过

image.png

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 全局变量

在函数体外声明的变量称之为全局变量

全局变量可以在整个包甚至外部包(被导出后)使用。

全局变量与局部变量名称相同时,局部变量会被优先考虑


posted on   运维开发玄德公  阅读(10)  评论(0编辑  收藏  举报  

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示