zoukankan      html  css  js  c++  java
  • Golang

    一、变量的概念

    1.1 为什么需要变量

    一个程序就是一个世界,世界中有千千万万的事物。在程序中,变量就可以用来表示事物。
    变量是程序的基本组成单位。

    1.2 变量的介绍

    变量相当于内存中一个数据存储空间的表示。通过变量名可以访问到变量(对应的值)

    1.3 变量使用的基本步骤

    1). 声明变量(也可以叫定义变量)
    基本语法:var 变量名 数据类型
    var a int声明了一个int类型的变量,变量名是a
    2). 赋值
    先声明,后给值。
    var num int; num=777
    3). 使用

    1.4 初始化变量

    在声明变量的时候,就给值。
    var a = 50此时,编译器会使用类型推导
    相当于把声明和赋值,合并成一步完成了。



    二、变量使用的注意事项

    2.1 变量表示内存中的一个存储区域

    该区域的数据值可以在同一类型范围内不断变化。不是同一个数据类型就会报错!

    2.2 该区域有自己的名称(变量名)和类型(数据类型)

    2.3 Golang变量使用的三种方式

    1. 指定变量类型,声明后若不赋值,使用其对应类型的零值
    2. 根据值自行判定变量的类型(类型推导)
    3. 短变量声明方式,也就是海象运算符:=
      注意::=左侧的变量不应该是已经声明过的,否则编译器会报错!

    2.4 多变量声明

    一次性声明多个变量

    package main
    
    import "fmt"
    
    func main() {
    	//一次性声明多个变量
    	var n1, n2, n3 int
    	fmt.Printf("n1=%v	n2=%v	n3=%v", n1, n2, n3)
    	//n1=0	n2=0	n3=0
    
    	fmt.Println()
    
    	//不能再重复定义n1,n2,n3
    	var n11, n22, n33 = 100.11, "tome", 888
    	//或者可以写成下面等价的短变量声明
    	//n11, n22, n33 := 100.11, "tome", 888
    	fmt.Printf("n11=%v	n22=%v	n33=%v", n11, n22, n33)
    	//n11=100.11	n22=tome	n33=888
    }
    

    下例演示一次性声明多个全局变量:

    package main
    
    import "fmt"
    
    //一次性声明多个全局变量
    var (
    	name   = "barry"
    	age    = 30
    	height = 161.8
    )
    
    func main() {
    	fmt.Printf("name=%v	age=%v	height=%v", name, age, height)
    	//name=barry	age=30	height=161.8
    }
    

    2.5 变量在一个作用域内不能重名

    在同一级作用域内不能重复定义

    2.6 变量包含三个部分

    变量名、值、数据类型

    2.7 变量没有赋值,编译器则会使用该数据类型的零值

    • 数值类型:0(整数、浮点数,都是0)
    • 字符串类型:""(一个空字符串)
    • 指针类型:nil(为空)



    三、变量的数据类型

    每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间。

    3.1 基本数据类型

    官方对基本数据类型的涵盖介绍:

    3.1.1 数值型
    1.整数类型

    用于存放一个整数

    • byte:1个字节
    • int8:8位的整数类型,相当于byte,一个字节
    • int16:2个字节
    2.浮点类型
    • float32 4个字节,单精度
    • float64 8个字节,双精度
    3.1.2 字符型

    golang没有专门的char类型,使用byte来存储单个字母符号(注意是单个英文字母),要存储汉字至少需要int32
    在golang中,采用UTF-8的编码格式,一个汉字占3个字节,一个byte存不进去

    3.1.3 布尔型
    • true
    • false
    3.1.4 字符串
    3.1.5 rune

    int32的别名,字符串中有中文时会用这个数据类型进行保存,它采用Unicode

    3.2 派生数据类型

    3.2.1 指针(Pointer)
    3.2.2 数组
    3.2.3 结构体(struct)
    3.2.4 管道(Channel)
    3.2.5 函数
    3.2.6 切片(slice)
    3.2.7 接口(interface)
    3.2.8 map
  • 相关阅读:
    JQUERY 判断选择器选择的对象 是否存在
    js的reduce方法,改变头等函数
    盒模型 bug 与触发 bfc
    CSS(四)float 定位
    CSS(三)背景 list-style display visibility opacity vertical cursor
    css 负边距
    CSS(二) 颜色 盒模型 文字相关 border
    CSS(一) 引入方式 选择器 权重
    html总结
    主流浏览器及内核
  • 原文地址:https://www.cnblogs.com/quanquan616/p/12051249.html
Copyright © 2011-2022 走看看