一、数组概念

go语言提供了数组类型的数据结构

数组是具有 [唯一类型] 的一组 [固定长度] 的数据项序列,这种类型可以是任意类型

二、数组声明

var variable_name [SIZE]variable_type

如:
var nums [10]int

三、初始化数组

数组在声明阶段,就已经赋予初始值了

在go 语言中数组是值类型,所以声明后便自动赋予初始值.
关于数组的初始值 和数组的数据类型有关
如下
//因为声明的是int类型的数组,所以初始值是0
var nums [5]int
fmt.Println(nums)
// 结果:[0 0 0 0 0]

四、数组的使用

  • for-range
package main

import "fmt"

func main(){
var hosts [5]string
// 数组元素的赋值
hosts = [5]string{"192.168.0.1","192.168.0.2","192.168.0.3","192.168.0.4","192.168.0.5"}
fmt.Println(hosts[1]) // 取下标为1 的元素,即第2个(因为数组下标从0开始) // for-range 取的是每一个元素
for index,v := range hosts{
fmt.Printf("hosts[%d]=%s\n",index,v)
}
}
  • 不确定元素数组
package main

import "fmt"

func main(){
var nums = [...]int{1,2,3,4,5} // 我们在不具体计算数组个数时,可以使用... 代替,届时go编辑器会计算数组个数,并声明是多少元素的数组
// var nums = [5]int{1,2,3,4,5} //与上面相同,只是数量个数由go编辑器计算了 fmt.Println(nums)
}
  • 数组的改与求和
package main

import "fmt"

func main(){
arrs := [5]float32{2:12.3,4:12.5}
fmt.Println(arrs)
arrs[0] = 28.93
arrs[1] = 9.00
fmt.Println(arrs) // 求和
var sum float32
for _,v := range arrs{ // 第一个参数是下标,不需要所以使用_,表示省略
sum += v
}
fmt.Println(sum)
}
结果
[0 0 12.3 0 12.5]
[28.93 9 12.3 0 12.5]
62.73
  • 数组在内存中的结构

    因为数组是值类型,所以数组的下标对应的就是具体是数值

五、注意

在实际的开发过程中,其实很少使用数组,因为数组元素的长度被固定了,其实多数使用切片(后面会讲解)

如果喜欢看小说,请到183小说网

go之数组的更多相关文章

  1. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  2. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  3. 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

    建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...

  4. 了解PHP中的Array数组和foreach

    1. 了解数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.详细的解释可参见:PHP.net中的Array数组    . 2.例子:一般的数组 这里,我 ...

  5. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  6. JavaScript常见的五种数组去重的方式

    ▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 先来建立一个数组 var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN ...

  7. js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的

    题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array ...

  8. javascript数组查重方法总结

    文章参考地址:http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 题目 对下列数组去重: var arr = ['aa', ...

  9. 掌握javascript中的最基础数据结构-----数组

    这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...

  10. 小兔JS教程(四)-- 彻底攻略JS数组

    在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...

随机推荐

  1. cocos creator游戏适配这事

    在想cocos适配之前,我们想想网页是怎么适配的.浏览器有各种规格,网页的一般做法是:背景图片铺满,网页内容保持在背景图片上居中,就实现了适应或者适配.css一般这样: .bg{ height:582 ...

  2. requirejs(模块化)

    <script src="../../dist/js/require.js" data-main="../../dist/js/main.js">& ...

  3. 在iOS项目中嵌入RN代码

    1:在项目跟目录下创建一个ReactComponent文件夹.目录结构如下: 2: 在ReactComponent文件夹下新建一个 package.json 文件 { "name" ...

  4. 所有对象的父类(java.lang.Object)

    一.介绍 Object类是类层次结构的根源,每一个类都存在一个父类为Object类.所有的对象,包括数组,都实现了 Object 类的方法. 二.对象初始化 这里使用了静态代码块进行Object类的初 ...

  5. POJ1161——The Suspects

    POJ1161——The Suspects   The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 48 ...

  6. (蓝桥杯)第八届A组C/C++跳蚱蜢

    #include<iostream> #include<memory.h> #include<stack> #include<string> #incl ...

  7. Matplotlib基础知识

    Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis水平和垂直的轴线 x轴和y轴刻度 tick刻度标示坐标轴的分隔,包括最小刻度和最大刻度 x轴和y轴刻度标签 ...

  8. 【codeforces 796A】Buying A House

    [题目链接]:http://codeforces.com/contest/796/problem/A [题意] 让你选一个最靠近女票的,且能买的房子; 输出你和你女票的距离; [题解] 枚举 [Num ...

  9. 在Centos安装oracle_11gR2进度68%"Error in invoking target mkldflags ntcontab.o nnfgt.o of makefile..”

    http://www.xwood.net/_site_domain_/_root/5870/5874/t_c265367.html

  10. VBox虚拟机与主机(宿主)通讯原理以及socat(套接字猫)简单介绍

    前言 尝试虚拟机使用socat建立服务器端接口转发时,发现对虚拟机接入网络原理不是非常了解,于是乎上网查找资料想搞明白是怎么回事,于是乎有了这篇总结博文.socat可以在服务器端口间建立全双工通信通道 ...