我正在参与创作者训练营第6期, 点击了解活动概况
一、为什么需求变量:
- 一个程序便是一个国际。
- 变量是程序的基本组成单位:不论是运用哪种高档言语编写程序,变量都是其程序的基本组成单位
二、变量的介绍
一、变量的概念:
变量相当于内存中一个数据存储空间的表示,你能够把变量看做是一个房间的门牌号,通过门牌号咱们能够找到房间,相同的道理,通过变量名能够访问到变量值。
二、变量的运用过程:
- 声明变量(也叫界说变量)
- 非变量赋值
- 运用变量
三、变量快速入门案例:
package main
import "fmt"
func main() {
// 界说变量、声明赋值
var i int
// 给 i 赋值
i = 10
// 运用变量
fmt.Println("i=", i)
}
int 是用来清晰变量类型的
var 的是弱类型
四、变量运用留意事项:
- 变量表示内存中的一个存储区域
- 该区域有自己的名称(变量名)和类型(数据类型)
- Golang 变量运用的三种方法
- 第一种:指定变量类型,声明后若不赋值,运用默认值。
package main
import "fmt"
func main() {
// golang 的变量运用方法一
// 指定变量类型,声明后若不赋值,运用默认值。
var i int
fmt.Println("i=", i)
}
- 第二种:依据值自行断定变量类型(类型推导)
package main
import "fmt"
func main() {
// golang 的变量运用方法一
// 指定变量类型,声明后若不赋值,运用默认值。
// int 的默认值是0 ,其他数据类型的默认值后边介绍
var i int
fmt.Println("i=", i)
// 第二种:依据值自行断定变量类型(类型推导,隐式转换)
var num = 10.11
fmt.Println("num=", num)
}
- 第三种:省掉
var
,留意:=
左边的变量不该该是现已声明过的,否则会导致编译错误
package main
import "fmt"
func main() {
// golang 的变量运用方法一
// 指定变量类型,声明后若不赋值,运用默认值。
// int 的默认值是0 ,其他数据类型的默认值后边介绍
var i int
fmt.Println("i=", i)
// 第二种:依据值自行断定变量类型(类型推导,隐式转换)
var num = 10.11
fmt.Println("num=", num)
// 第三种:省掉var ,留意:=左边的变量不该该是现已声明过的,否则会导致编译错误
// 下面的方法等价于 var name string name = "tom"
// := 的 :不能省掉
name := "tom"
fmt.Println("name=", name)
}
- 多变量声明:
-
- 在编程中,有时咱们需求一次性声明多个变量,Golang也供给这样的语法
- 举例说明:
package main
import "fmt"
func main() {
// 该案例演示golang怎么一次性声明多个变量
// var n1 int
// var n2 int
// var n3 int
// var n1, n2, n3 int
// fmt.Println("n1=", n1, "n2=", n2, "n3=", n3)
// 一次性声明多个变量的方法2
var n1, name, n3 = 100, "tom", 888
fmt.Println("n1=", n1, "name=", name, "n3=", n3)
// 一次性声明多个变量的方法三,相同能够运用类型推导
n1, name, n3 = 100, "tom~", 888
fmt.Println("n1=", n1, "name=", name, "n3=", n3)
}
-
- 怎么一次性声明多个全局变量【在GO中函数外部界说变量便是全局变量 】:
package main
import "fmt"
// 界说全局变量
var n1 = 100
var n2 = 200
var name = "jack"
// 上面的声明方法也能够改成一次性声明
var (
n3 = 200
n4 = 900
name2 = "mary"
)
func main() {
// 输出全局变量
fmt.Println("n1=", n1, "name=", name, "n2=", n2)
fmt.Println("n3=", n1, "name2=", name2, "n4=", n4)
}
-
- 该区域的数据值能够在同一类型范围内不断变化(重点)
package main
import "fmt"
// 变量运用的留意事项
func main() {
// 该区域的数据值能够在同一个类型范围内不断变化
var i int = 10
i = 30
i = 50
fmt.Println("i=",i)
i = 1.2 //报错,原因是因为不能改变数据类型
}
- 变量在同一个变作用域(在一个函数或许代码块)内不能重名
package main
import "fmt"
// 变量运用的留意事项
func main() {
// 该区域的数据值能够在同一个类型范围内不断变化
var i int = 10
i = 30
i = 50
fmt.Println("i=", i)
// i = 1.2 //报错,原因是因为不能改变数据类型
// 变量在同一个作用域(在一个函数或许代码块)内不能重名
// var i int = 59 //变量重复界说
// i := 99 //这样相同不可
}
- 变量 = 变量值 + 值 + 数据类型,这一点请大家留意,变量的三要素
- Golang 的变量如果没有赋初值,编译器会运用默认值,比如
int
默认值0
,string
默认值为空串,小数默以为0
五、变量的声明,初始值和赋值
- 声明变量
- 基本语法:
var 变量名 数据类型
-
var a int
这便是声明晰一个变量,变量名是a
-
var num 1 float32
这也声明晰一个变量,表示一个单精度类型的小数,变量名是num1
\
- 初始化变量
- 在声明变量的时候,就给值
-
var a int = 45
,这便是初始化变量a
- 运用细节:如果声明时就直接赋值,可省掉数据类型
var b = 400
\
- 给变量赋值
- 比如你先声明晰变量:
var num int // 默认 0
- 然后,再给值
num = 780 ;
这便是给变量赋值。
六、程序中 + 号的运用
- 当左右两头都是数值型时,则做加法运算。
- 当左右两头都是字符串,则做字符串拼接。
package main
import "fmt"
// 演示golang中 + 的运用
func main() {
var i = 1
var j = 2
var r = i + j //做加法运算
fmt.Println("r=", r)
var str1 = "hello "
var str2 = "world"
var res = str1 + str2
fmt.Println("res=", res)
}