美文网首页
Go基础数据类型声明

Go基础数据类型声明

作者: 喜龙爱慧 | 来源:发表于2016-06-01 14:22 被阅读229次
葛兰萨索星空下& 雍容致殇 作品

世界没有悲剧和喜剧之分,如果你能从悲剧中走出来,那就是喜剧;如果你沉缅于喜剧之中,那它就是悲剧。 by 上德若谷

引用于:http://wufazhuce.com/one/1357

变量声明未初始化的默认值

var (
    intA int
    float32A float32
    float64A float64
    boolA bool
    stringA string
    arrA []int
    sliceA []int
    mapA map[string]int
    pointA *int
)

func main() {
    //变量声明未初始化的默认值
    fmt.Println(intA == 0) //true
    fmt.Println(float32A == 0) //true
    fmt.Println(float64A == 0) //true
    fmt.Println(boolA == false) //true
    fmt.Println(stringA == "") //true
    fmt.Println(arrA == nil) //true
    fmt.Println(sliceA == nil) //true
    fmt.Println(mapA == nil) //true
    fmt.Println(pointA == nil) //true
}

全局变量和常量

常用书写格式:

/*
 全局变量,允许修改,如果声明的变量名:
 1、首字母小写,类似于定义的私有变量
 2、首字母大写,类似于定义的共有变量
*/
var (
    intA = 1
    strB = "Go"
    arrC = [3]int{1, 2, 3}
    floatD = 3.14
    boolE = false
    PubA = "public" //公共变量
)

/*
 全局常量,允许修改,如果声明的变量名:
 1、首字母小写,类似于定义的私有变量
 2、首字母大写,类似于定义的共有变量
*/
const (
    cIntA = 1
)

内部变量

常用书写格式:

func methodName() {
    /*
     内部变量,只在该函数体内有效
    */
    innerA := 123
}

忽略变量

    /*
         忽略变量,用`_`声明。
         Go对于已声明但未使用的变量会在编译阶段报错,所以可用该方法规避此类现象。
         常用于遍历slice和map。
    */
    _, innerA := 123, 456
    fmt.Println(innerA) //456

    numbers := make(map[string]int)
    numbers["a"] = 1
    numbers["b"] = 2
    numbers["c"] = 3

    //不使用key值时,用`_`忽略掉
    for _, value := range numbers {
        fmt.Println(value)
    }

数组类型的声明和初始化

//声明并初始化数组
//声明了一个长度为3的int数组
a := [3]int{1, 2, 3}
//声明了一个长度为10的int数组,其中前三个元素初始化为1、2、3,其它默认为0
b := [10]int{1, 2, 3}
//可以省略长度而采用`...`的方式,Go会自动根据元素个数来计算长度
c := [...]int{4, 5, 6}
fmt.Println("a len = ", len(a)) //3
fmt.Println("b len = ", len(b)) //10
fmt.Println("c len = ", len(c)) //3

数组详细用法:http://www.jianshu.com/p/163663ec7e78

slice类型的声明和初始化

//通过指向一个数组初始化slice类型变量
arrA := [5]int{1, 2, 3, 4, 5}
sliceA := arrA[1:3]

//使用make初始化slice类型变量
//这时sliceB中的前两个元素已经被占用,如果用append往sliceB中添加元素,只能从第三个位置开始
sliceB := make([]int, 2, 7)

//已知道元素值时,初始化切片
sliceD := []int(1, 2)

//实例化一个空切片
//append会从第一个位置添加元素
sliceC := make([]int, 0)

切片详细用法:http://www.jianshu.com/p/b414ff531a85

Map类型的声明和初始化

//声明并使用make初始化Map类型
var mapA map[string]int
mapA = make(map[string]int)

//声明并初始化Map类型
mapB := map[string]string{"a": "a1", "b": "b1", "c": "c1", "d": "d1"}

//声明Map类型
mapC := make(map[string]int)

Map详细用法:http://www.jianshu.com/p/05b7f14871b8

相关文章

  • Go语言入门指南系列之《2基础类型》

    Go 语言中的基础类型   在 Go 编程语言中,数据类型用于声明函数和属性。数据类型的出现时为了把数据分成所需要...

  • 【Golang 基础】Go 语言中的基本类型

    Go 语言中的基础类型   在 Go 编程语言中,数据类型用于声明函数和属性。数据类型的出现时为了把数据分成所需要...

  • Go基础数据类型声明

    世界没有悲剧和喜剧之分,如果你能从悲剧中走出来,那就是喜剧;如果你沉缅于喜剧之中,那它就是悲剧。 by 上德若谷 ...

  • Golang的Named Type与Unamed Type

    在 Go 中所有需要被定义和声明的对象都是 Type,Go Type 默认包含常用的基础数据类型,称为 Pre-d...

  • Go学习-数据类型

    Go数据类型 Go语言将数据类型分为四类 基础类型 复合类型 引用类型 接口类型 基础类型 数字 字符串 布尔 整...

  • Go语言第3天 - 常用数据类型

    以下内容部分参考自Go语言基础数据类型Go语言中的数组切片:特立独行的可变数组Go语言数据类型-数组Go标准容器之...

  • 《Go语言四十二章经》第二章 数据类型

    作者:李骁 在 Go 语言中,数据类型可用于参数和变量声明。 2.1 基本数据类型 Go 语言按类别有以下几种数据...

  • 初识Go语言-1

    Go语言学习路径 初识Go语言 Go语言环境搭建与IDE安装 Go语言基础语法 Go语言数据类型 Go语言变量和常...

  • 第三章:Go语言基础数据类型

    1. Go语言数据类型 1.1 数据类型分类 Go语言数据类型大致可以分为两类基础类型,其中就包括了我们最常见的一...

  • java

    数据类型分为:8大基础数据类型和3大引用数据类型。 基础数据类型和引用数据类型的区别: 1,基本数据类型变量声明之...

网友评论

      本文标题:Go基础数据类型声明

      本文链接:https://www.haomeiwen.com/subject/ifgcdttx.html