zoukankan      html  css  js  c++  java
  • GO入门——2. 变量

    1 基本类型

    • 零值并不等于空值,而是当变量被声明为某种类型后的默认值,
      通常情况下值类型的默认值为0,bool为false,string为空字符串,引用为nil。

    1.1 布尔类型

    • 关键字:bool
    • 长度:1字节
    • 取值范围:true, false
    • 注意事项:不可以用数字代表true或false
    • 默认值为false

    1.2 整型类型

    1.2.1 整型

    • int/uint 根据运行平台可能为32或64位
    • int8/uint8(byte) 长度1字节,uint别名byte
    • int16/uint16 长度2字节
    • int32(rune)/uint32 长度4字节
    • int64/uint4 长度8字节
    • uintptr 足够保存指针的 32 位或 64 位整数型

    1.2.1 浮点型

    • float32 长度4字节,小数精确到7位
    • float64 长度8字节,小数精确到15位

    1.3 复数类型

    • complex64 长度8字节
    • complex128 长度16字节

    1.4 其他类型

    • array
    • struct
    • string

    1.5 引用类型

    • slice
    • map
    • chan

    1.6 接口类型

    • interface

    1.7 函数类型

    • func

    1.8 指针

    在Go当中不
    支持指针运算以及”->”运算符,而直接采用”.”选择符来操作指针
    目标对象的成员

    • 操作符”&”取变量地址,使用”*”通过指针间接访问目标对象
    • 默认值为 nil 而非 NULL

    2 声明与赋值

    2.1 单个变量的声明与赋值

    • 变量的声明格式:var <变量名称> <变量类型>
    • 变量的赋值格式:<变量名称> = <表达式>
    • 声明的同时赋值:var <变量名称> [变量类型] = <表达式>
    var a int   //变量声明
    a = 123     //变量赋值
    //声明同时赋值
    var b int = 12
    //省略类型,系统自动推断
    var c = 12
    //局部变量的简写
    d := 12
    

    2.2 多个变量的声明与赋值

    • 全局变量的声明可使用 var() 的方式进行简写
    • 全局变量的声明不可以省略 var,但可使用并行方式
    • 所有变量都可以使用类型推断
    • 局部变量不可以使用 var() 的方式简写,只能使用并行方式
    var (
        //常规声明与赋值
        a = "hello"
        //并行方式并自动推断类型
        b , c = 1 , 2
        // d := 1   编译错误,全局变量不能用:=
    )
    
    //并行声明多变量
    var a,b,c,d int
    //并行赋值
    a,b,c,d = 1,2,3,4
    //并行声明与赋值
    var e,f,g int = 1,2,3
    //省略类型,并行声明与复制类型自动推断
    var i,j,k = 1,2,3
    //多个变量声明与复制的最简单写法
    a,b,c := 1,"hello",2
    

    2.3 变量的类型转换

    • Go中不存在隐式转换,所有类型转换必须显式声明
    • 转换只能发生在两种相互兼容的类型之间
    • 类型转换的格式:
    	<ValueA> [:]= <TypeOfValueA>(<ValueB>)
    
    //相互兼容的类型可以通过类型转换
    var a float32 = 1.0
    b:=int(a)
    
    //编译错误
    var c bool = true
    d:=int(c)
    

    3 常量

    3.1 常量的定义

    • 常量的值在编译时就已经确定
    • 常量的定义格式与变量基本相同
    • 等号右侧必须是常量或者常量表达式
    • 常量表达式中的函数必须是内置函数
    //定义单个常量
    const a int = 1
    const b = 'A'
    const(
        c = 1
        d = "hello"
        len = len(d)
    )
    
    //定义多个常量
    const i,j,k = 1,2,3
    const(
        x,y,z = "1",2,"3"
    )
    

    3.2 常量的初始化规则与枚举

    • 在定义常量组时,如果不提供初始值,则表示将使用上行的表达式
    • iota是常量的计数器,从0开始,组中每定义1个常量自动递增1
    • 通过初始化规则与iota可以达到枚举的效果
    • 每遇到一个const关键字,iota就会重置为0
    const (
    	//a和b都为“A”
    	a = "A"
    	b
    	//c,d分别为2,3
    	c = iota
    	d
    	//e为65
    	e = 'A'
    )
    const(
        //e,f分别为0和1
        e = iota
        f 
    )
    
    
  • 相关阅读:
    Java Native Method
    SQL语句优化
    Ibatis的环境搭建以及遇到的问题解决
    Java 构建器
    SpringMVC自定义视图 Excel视图和PDF视图
    java 枚举的常见使用方法
    mysql 根据某些字段之和排序
    MFC The Screen Flickers When The Image Zoomed
    How To Debug Qmake Pro File
    Gcc And MakeFile Level1
  • 原文地址:https://www.cnblogs.com/suolu/p/6709358.html
Copyright © 2011-2022 走看看