golang基础教程(三)、变量与数据类型概述

golang基础教程

一、变量

变量的介绍

变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门
牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量
(值)

变量的使用步骤

  1. 声明变量(也叫:定义变量)
  2. 非变量赋值
  3. 使用变量

二、go中变量的使用

1、变量的声明,初始化和赋值

golang基础教程(三)、变量与数据类型概述_第1张图片

2、三种使用方式

2.1 指定变量类型,声明后若不赋值,使用默认值

package main

import "fmt"

func main() {
	var num int
	var num1 int = 20
	fmt.Println(num,num1)
}

输出:

0 20

2.2. 根据值自行判定变量类型(类型推导)
可以省略变量的类型,由编译器在编译时根据所赋的值推导出变量的类型(这个需要赋值才能省略

package main

import "fmt"

func main() {
	//单独定义
	var num int
	var	num1  = 20
	var	num2  = 30
	fmt.Println(num,num1,num2)
}

2.3. 省略 var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误

package main

import "fmt"

func main() {
	//num变量在此之前不能被声明或定义
	num := 10
	fmt.Println(num)
}
3、批量定义

在编程中,有时我们需要一次性声明多个变量,Golang 也提供这样的语法
golang基础教程(三)、变量与数据类型概述_第2张图片

三、数据类型

在go的数据类型可以分为基本数据类型、复杂数据类型两种;按照值得传递又可以分为值传递和引用传递
golang基础教程(三)、变量与数据类型概述_第3张图片
值类型和引用类型的使用特点

  1. 值类型:变量直接存储值,内存通常在栈中分配
    示意图:
    golang基础教程(三)、变量与数据类型概述_第4张图片
  2. 引用类型:变量存储的是一个地址,这个地址对应的空间才真正存储数据(值),内存通常在堆
    上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由 GC 来回收
    示意图:
    golang基础教程(三)、变量与数据类型概述_第5张图片
  3. 内存的栈区和堆区示意图
    golang基础教程(三)、变量与数据类型概述_第6张图片

你可能感兴趣的:(golang)