第1章：变量

Go 语言入门

SDK 安装教程：https://www.bilibili.com/video/av954201380?p=4

官方 SDK 下载地址：https://golang.google.cn/dl/

开启 go modules 命令：

Copy
go env -w GO111MODULE=on

设置国内代理命令：

Copy
go env -w GOPROXY=https://proxy.golang.com.cn,https://goproxy.cn,direct

Goland 的下载和激活教程：https://www.jiweichengzhu.com/ide/code

Golang 标准库 API 文档：https://studygolang.com/pkgdoc

基本变量

变量

什么是变量？

== 答：变量相当于内存中一个数据存储空间的表示 ==

变量的使用步骤

==1. 声明 ==

==2. 赋值 ==

==3. 使用 ==
示例 1

Copy
package main

import "fmt"

func main() {
//1.声明
var age int
//2.赋值
age = 18
//3.使用
fmt.Println("age = ", age)
}

运行结果

Copy
18

示例 2

Copy
package main

import "fmt"

func main() {
var name string
name = "周杰伦"
fmt.Println("我的名字是:", name)
}

运行结果

Copy
我的名字是: 周杰伦

变量的 4 种使用方式

Copy
package main

import (
"fmt"
"reflect"
)

func main() {
//第一种
var num int = 6
fmt.Println(num)
//第二种 (指定变量类型，但不赋值会自动使用默认值 例如：int类型默认值为0）
var num2 int
fmt.Println(num2)
//第三种 （不指定变量类型，会根据等号后面的值自动判定变量类型）
var num3 = 0.5
fmt.Println(reflect.TypeOf(num3))
//第四种 第三种基础上再省略var, = 必须改写 :=
sex := "男"
fmt.Println(sex)
}

运行结果

Copy
6
0
float64
男

支持一次性声明多个变量（多变量声明）

Copy
package main

import "fmt"

func main() {
var b1, b2, b3 int = 1, 2, 3
fmt.Println(b1)
fmt.Println(b2)
fmt.Println(b3)
fmt.Println("_________________分界线_____________________")
var a1, a2, a3 int
fmt.Println(a1)
fmt.Println(a2)
fmt.Println(a3)
fmt.Println("_________________分界线_____________________")
var c1, c2, c3 = 5, 0.5, "五"
fmt.Println(c1)
fmt.Println(c2)
fmt.Println(c3)
fmt.Println("_________________分界线_____________________")
d1, d2, d3 := 7, 8, 9
fmt.Println(d1)
fmt.Println(d2)
fmt.Println(d3)
}

运行结果

Copy
1
2
3
_________________分界线_____________________
0
0
0
_________________分界线_____________________
5
0.5
五
_________________分界线_____________________
7
8
9

局部变量和全局变量

局部变量 ：定义在函数内的变量（即函数括号内的变量，综上变量都是局部变量）

全局变量：定义在函数外的变量

全局变量示例

Copy
package main

import "fmt"

var n = 666
var m = 888

// 或者一次性声明，简写：
var (
x = 666
y = 888
)

func main() {
fmt.Println(n)
fmt.Println(m)
fmt.Println(x)
fmt.Println(y)
}