• Go语言入门篇-复合数据类型


    复合数据类型

    主要讨论四种类型——数组、slice、map和结构体

    数组和结构体聚合类型   --数组和结构体都是有固定内存大小的数据结构

      --数组:由同构的元素组成——每个数组元素都是完全相同的类型

      --结构体:由异构的元素组成

    slice和map则是动态的数据结构,它们将根据需要动态增长。

    一。数组

    package main
    
    import (
        "fmt"
    )
    
    func main() {
        var a [3]int          //声明数组,默认数组每个元素都被初始化为0值    
        fmt.Println(a[0])     //打印a数组的第1个元素值  0
        fmt.Println(a[len(a)-1]) //打印a数组的倒数第1个值  0    
        
        fmt.Println("====================================")    
            
        for i,v:=range a{    //range a:将a数组的索引和值分别赋值给i和v
        
            fmt.Printf("%d %d
    ",i,v)
            //打印值 0 0
            //    1 0
            //    2 0
        }
        
        fmt.Println("====================================")
        
        for _,v:=range a{  //range a:将a的索引值赋值给_代表不关心索引值,将a数组值循环赋值给v
            fmt.Printf("%d
    ",v)
            //打印值    0
            //    0
            //    0
        }
        
        fmt.Println("====================================")
        
        var p [3]int=[3]int{1,2,3}  //初始化数组,值为1,2,3
        p1:=[...]int{1,2,3}  //同上述p等价,数组长度位置"...",代表数组长度根据初始化值个数计算
        fmt.Printf("%T
    ",p1)   //[3]int
        var q [3]int=[3]int{1,2} //初始化数组,值为1,2,0
    }
    package main
    
    import (
        "fmt"
    )
    
    func main() {
        type Currency int
    
        const (
            USD Currency = iota // 美元
            EUR                 // 欧元
            GBP                 // 英镑
            RMB                 // 人民币
        )
    
        symbol := [...]string{USD: "$", EUR: "", GBP: "", RMB: ""}
    
        fmt.Println(RMB, symbol[RMB]) // "3 ¥"
    }
  • 相关阅读:
    JAVA基础补漏--文件读取
    JAVA-Lambda表达式
    JAVA基础补漏--可变参数
    JAVA基础补漏--SET
    Apache ab 测试结果的分析
    同源策略和跨域问题
    php curl 伪造IP来源的实例代码
    HTTP状态码详解
    PHP 根据IP地址获取所在城市
    MySQL MERGE存储引擎 简介及用法
  • 原文地址:https://www.cnblogs.com/kaixinyufeng/p/9552164.html
Copyright © 2020-2023  润新知