zoukankan      html  css  js  c++  java
  • Golang基础编程(三)结构体、数组

    一、结构体

    ·Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。

    ·结构体是由一系列具有相同类型或不同类型的数据构成的数据集合

    结构体-定义

    结构体定义需要使用 type 和 struct 语句。struct 语句定义一个新的数据类型,结构体中有一个或多个成员。type 语句设定了结构体的名称。结构体的格式如下:

    type struct_variable_type struct {
       member definition
       member definition
       ...
       member definition
    }

    一旦定义了结构体类型,它就能用于变量的声明,语法格式如下:

    variable_name := structure_variable_type {value1, value2...valuen}
    或
    variable_name := structure_variable_type { key1: value1, key2: value2..., keyn: valuen}

    结构体-示例

    输出结果:

    Book 1 title : Go 语言

    Book 1 author : Go 作者

    Book 1 author : Go语言教程

    Book 1 book_id : 64425

    二、数组

    数组是具有相同唯一类型的一组已编号且长度固定的数据项序列。

    Go 语言数组声明需要指定元素类型及元素个数,语法格式如下:

    var variable_name [SIZE] variable_type

    以上为一维数组的定义方式。例如以下定义了数组 balance 长度为 10 类型为 float32:

    var balance [10] float32

    数组-初始化:

    1.以下演示了数组初始化:

    var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

    2.我们也可以通过字面量在声明数组的同时快速初始化数组:

    balance := [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

    3.如果数组长度不确定,可以使用 ... 代替数组的长度,编译器会根据元素个数自行推断数组的长度:

    var balance = [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
    或
    balance := [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

    4.如果设置了数组的长度,我们还可以通过指定下标来初始化元素:

    //  将索引为 1 和 3 的元素初始化
    balance := [5]float32{1:2.0,3:7.0}

    5.初始化数组中 {} 中的元素个数不能大于 [] 中的数字。

    如果忽略 [] 中的数字不设置数组大小,Go 语言会根据元素的个数来设置数组的大小:

    balance[4] = 50.0

    数组-访问元素

    数组元素可以通过索引(位置)来读取。格式为数组名后加中括号,中括号中为索引的值。例如:

    var salary float32 = balance[9]

    数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推。

    输出结果:

    4 [1 2 3 4 5] [1 2 3 4 5] [d b c] [1 2 3 4 5]

  • 相关阅读:
    [cf1217F]Forced Online Queries Problem
    [cf1215F]Radio Stations
    超级楼梯[HDU2041]
    亲和数[HDU2040]
    三角形[HDU2039]
    今年暑假不AC[HDU2037]
    Counting Squares[HDU1264]
    CodeForces Round 195 Div2
    Square Coins[HDU1398]
    The number of divisors(约数) about Humble Numbers[HDU1492]
  • 原文地址:https://www.cnblogs.com/qingfj/p/14856638.html
Copyright © 2011-2022 走看看