定义变量-还有更简单的方法-如果没有初始化Go会自动给变量一个默认值这叫零值
一、定义变量
在Go语言里,变量就像是内存里的小盒子,用来存东西。要定义一个变量,就是给这个盒子起个名字,然后告诉它要存什么。定义变量很简单,就像这样:
``` var x int ```这里的`var`是关键字,`x`是变量名,`int`是告诉Go这个盒子要存整数。
你还可以一边定义一边给它放东西:
``` var y = 10 ```或者Go会自动帮你判断要存什么,比如:
``` var z = 5.5 ```还有更简单的方法,只在函数内部用,就是用冒号:
``` x := 100 ```二、变量的类型
Go语言很讲究类型,就像每种东西都有自己的标签,不能放错盒子。常见的类型有:
基本类型 | 整数类型 |
---|---|
无符号整数类型 | int, int8, int16, int32, int64 |
浮点类型 | float32, float64 |
复数类型 | complex64, complex128 |
布尔类型 | bool |
字符串类型 | string |
除了基本类型,还有一些派生类型,比如指针、数组、切片、结构体、映射、函数和通道。
三、变量的作用域
变量的作用域决定了它能在哪里被找到。Go语言主要有三种作用域:
- 全局作用域:变量在函数外部定义,可以在整个包中访问。
- 局部作用域:变量在函数内部定义,只能在函数内部访问。
- 块作用域:变量在代码块(如for循环或if语句)中定义,只能在代码块内部访问。
比如:
``` package main import "fmt" func main() { var globalVar = "global" fmt.Println(globalVar) // 可以访问 func() { var localVar = "local" fmt.Println(localVar) // 可以访问 // globalVar 不可访问 }() } ```四、变量的初始化
变量在声明时可以被初始化,也就是给它一个初始值。如果没有初始化,Go会自动给变量一个默认值,这叫零值。
类型 | 零值 |
---|---|
整数类型 | 0 |
浮点类型 | 0.0 |
布尔类型 | false |
字符串类型 | ""(空字符串) |
指针、切片、映射、通道 | nil |
比如:
``` var a int var b float64 = 3.14 var c bool = true var d string = "Hello, World!" ```