Go-数组

原创 2016年08月30日 15:18:52

示例

Go的数组要求只能是单一数据类型,这和脚本语言有些差别,而与传统编译型语言一致。

package main
import "fmt"

func main() {
    var a [5]int

    var size = len(a)
    for i := 0; i < size; i++ {
        a[i] = i + 1
        fmt.Println("a[%d]=%d", i, a[i])
    }

    total := 0 
    for i := 0; i < len(5); i++ {
        total += a[i]
    }

    average := total / len(5)
    fmt.Println("average:", average)
}

range

数组的另一种遍历方式,用range:——In each iterat ion of the loop, range produces a pair of values: the index and the value of the
element at that index. <> P7

Go的range类似于Java的foreach用法,与Python的for-in-range也很类似。这使得遍历集合的数据更加方便。

下划线_的用法和Python一样,表示对这个数据不关心,直接丢弃掉。

package main
import "fmt" // Printf()

func main() {
    var a [5]int

    size := len(a)

    for i := 0; i < size; i++ {
        a[i] = i + 1
    }

    for i, value := range a {
        fmt.Printf("a[%d]=%d\n", i, value)
    }

    total := 0 
    for _, value := range a {
        total += value
    }

    average := total / size
    fmt.Println("average:", average)
}

声明&初始化

Go-控制结构中给出了一种初始化数组的方法:

values := [3]string {"Jerry", "Tom", "Jerry & Tom"}

逗号

Go在初始化数组列表的时候,如果每行一个元素的时候,则最后一个元素的后面需要加逗号。这是Go数组很特殊的一个地方。这种情况下,注释掉某一行就非常方便。

package main
import "fmt" // Printf()

func main() {
    values := [3]string {"Jerry", "Tom", "Jerry & Tom"}
    for _,value := range values {
        fmt.Print(value, "\t")
    }

    fmt.Println()
    values2 := [3]string {
                    "Jerry", 
                    "Tom", 
                    "Jerry & Tom"}
    for _,value := range values2 {
        fmt.Print(value, "\t")
    }

    fmt.Println()
    values3 := [3]string {
                    "Jerry", 
                    "Tom", 

                    // If the ending ',' was not provided, there will be an error:
                    //    syntax error: unexpected semicolon or newline, expecting comma or }
                    "Jerry & Tom",
                    }
    for _,value := range values3 {
        fmt.Print(value, "\t")
    }
}

相关文章推荐

Golang(Go语言)代码技巧之数组(array)和切片(slice)

去掉最后n个元素 line = line[:len(line)-n] 两种遍历方式 for i:=0;ilen(line);i++{ // ...=line[i]}f...

Go语言基础入门--数组,切片,map

数组 数组是Go语言编程中最常用的数据结构之一。顾名思义,数组就是指一系列同一类型数据的集合。数组中包含的每个数据被称为数组元素( element),一个数组包含的元素个数被称为数组的长度。 以下为...

go 数组和数组切片比较

一、数组  与其他大多数语言类似,Go语言的数组也是一个元素类型相同的定长的序列。 (1)数组的创建。 数组有3种创建方式:[length]Type 、[N]Type{value1, value...

[go语言]数组和字符串

1 数组类型 1)创建数组array 创建数组时候,必须定义数组长度。 数组不能改变长度。 数组元素默认初始化为0. var 数组变量 [N]类型 var arr [10]int ...

Go语言创建、初始化数组的各种方式

Go语言的语法很灵活,以下展示了创建并初始化数组的多种方式: //数组初始化的各种方式 func arraySliceTest0201() { //创建数组(声明长度) var array1 = ...

Go语言程序的数组初始化

Go语言数组初始化是最基本的编程训练。通过这个例子可以知道多维数组的初始化,需要注意的是格式。 Go语言程序: // array project main.go package main ...

Go语言学习笔记(四) [array、slice、map]

日期:2014年7月22日 一、array[数组] 1、定义:array 由 [n] 定义,n 标示 array 的长度,而 标示希望存储的内容的类型。     例如:   ...

golang移除数组中重复的元素

func RemoveDuplicate(list *[]int) []int { var x []int = []int{} for _, i := range *lis...

go的学习记录(二)--- 数组与数组切片

在go语言的学习中,少不了接触的就是数组和数组切片,并且这两者的使用也是非常频繁的。因此如果不能进行很好的理解,或许很容易犯错。那么在go中,数组和数组切片都有什么特点,又是怎么声明赋值的,如何使用的...

Go语言_数组_Go语言创建、初始化数组的常见方式汇总

这篇文章主要介绍了Go语言创建、初始化数组的常见方式,实例汇总了Go语言操作数组的常见技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例总结了Go语言创建、初始化数组的常...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Go-数组
举报原因:
原因补充:

(最多只允许输入30个字)