go语言的变量

一、为什么需要变量? 

因为变量是程序的基本组成单位

  • 变量:变量相当于内存中一个数据存储空间的表示(变量表示内存中的一个存储区域),通过变量名可以访问变量值。
  • 使用步骤:
  1. 声明/定义变量:声明变量后若不赋值,使用默认值
  2. 变量赋值
  3. 使用变量
//声明变量,不赋值,只用默认值
var a int
fmt.Println(a) //0

var b = 123.456
fmt.Printf("b的类型%T\n", b) //b的类型float64

//一次声明多个变量,自动推导类型(省略var)
id, name, age := 4, "hjx", 24
fmt.Printf("%T,%T,%T\n", id, name, age) //int,string,int
id = 3
fmt.Println(id) //3
  • 初始化变量:在声明变量时,就给其赋值  
	var str string = "hello world"
	fmt.Println(str)//hello world 

二、数据类型

 1、整型数据:

  • go的整形默认为int型
  • unsafe.Sizeof(name)返回name占用的字节数
  • 年龄可以使用byte表示(1-100)
  • bit:计算机中最小的存储单位,byte:计算中基本存储单元

2、浮点数:

  • go的浮点数的默认声明为float64
  • 浮点数=符号位+指数位+尾数位(浮点数都是有符号的)

3、字符类型:

  • go语言中没有专门的字符类型,如果要存储单个字符(字母),一般使用byte保存
  • 字符串就是一串固定长度的字符连接起来的字符序列。(go的字符串是由单个字节连接起来的的)。传统发字符串是由字符组成,而go的字符串不同,它是由字节组成的
  • 保存的字符在ASCII表,直接可以保存到byte
  • 保存的字符对应码值>255,用int保存
  • go语言中英文-1个字节,汉字-3个字节
  • 存储:字符-》对应码值-》二进制-》存储
  • 读取:二进制-》码值-》字符-》读取

4、string类型:

  • 字符串就是一串固定长度的字符连接起来的字符序列。(go的字符串是由单个字节连接起来的的)。
  • 字符串一旦赋值了,字符串就不能修改了;在go中字符串是不可变的。

5、指针类型:

  • 指针类型:指针变量存的是一个地址,这个地址指向的空间存的才是值

6、值类型和引用类型:

  • 值类型:变量直接存储值,内存中通常在栈中分配

         基本的int类型,float类型,bool,string,数组,结构体struct

  • 引用类型:变量存储的是一个地址,地址对应的空间才是真正存储数据的值,内存通常在堆上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由gc来回收。

         指针,slice切片,map,管道chan,interface

7、运算符:

  • ++/--:

      go语言的自增自减只能当做一个独立语句使用;i++

      go语言的++和--只能写在变量的后面,不能写在变量的前面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值