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

本文实例总结了Go语言创建、初始化数组的常见方式。分享给大家供大家参考。具体分析如下:

Go语言的语法很灵活,以下展示了创建并初始化数组的多种方式:

复制代码 代码如下:

//数组初始化的各种方式 
func arraySliceTest0201() { 
    //创建数组(声明长度) 
    var array1 = [5]int{1, 2, 3} 
    fmt.Printf("array1--- type:%T \n", array1) 
    rangeIntPrint(array1[:]) 
 
    //创建数组(不声明长度) 
    var array2 = [...]int{6, 7, 8} 
    fmt.Printf("array2--- type:%T \n", array2) 
    rangeIntPrint(array2[:]) 
 
    //创建数组切片 
    var array3 = []int{9, 10, 11, 12} 
    fmt.Printf("array3--- type:%T \n", array3) 
    rangeIntPrint(array3) 
 
    //创建数组(声明长度),并仅初始化其中的部分元素 
    var array4 = [5]string{3: "Chris", 4: "Ron"} 
    fmt.Printf("array4--- type:%T \n", array4) 
    rangeObjPrint(array4[:]) 
 
    //创建数组(不声明长度),并仅初始化其中的部分元素,数组的长度将根据初始化的元素确定 
    var array5 = [...]string{3: "Tom", 2: "Alice"} 
    fmt.Printf("array5--- type:%T \n", array5) 
    rangeObjPrint(array5[:]) 
 
    //创建数组切片,并仅初始化其中的部分元素,数组切片的len将根据初始化的元素确定 
    var array6 = []string{4: "Smith", 2: "Alice"} 
    fmt.Printf("array6--- type:%T \n", array6) 
    rangeObjPrint(array6) 

 
//输出整型数组切片 
func rangeIntPrint(array []int) { 
    for i, v := range array { 
        fmt.Printf("index:%d  value:%d\n", i, v) 
    } 

 
//输出字符串数组切片 
func rangeObjPrint(array []string) { 
    for i, v := range array { 
        fmt.Printf("index:%d  value:%s\n", i, v) 
    } 
}

希望本文所述对大家的GO语言程序设计有所帮助。

时间: 2024-07-28 23:27:24

Go语言创建、初始化数组的常见方式汇总_Golang的相关文章

javascript创建函数的20种方式汇总

       这篇文章主要介绍了javascript创建函数的20种方式汇总的相关资料,需要的朋友可以参考下             工作中常常会创建一个函数来解决一些需求问题,以下是个人在工作中总结出来的创建函数20种方式,你知道多少? ? 1 2 3 4 5 6 7 8 function sayHello(){ console.log('hello'); } function leave(){ console.log('goodbye'); } //test sayHello(); 为完成需

javascript创建函数的20种方式汇总_javascript技巧

工作中常常会创建一个函数来解决一些需求问题,以下是个人在工作中总结出来的创建函数20种方式,你知道多少? function sayHello(){ console.log('hello'); } function leave(){ console.log('goodbye'); } //test sayHello(); 为完成需求,赶紧声明一个函数吧 var sayHello = function(){ console.log('hello'); } var leave = function()

指针-c语言中字符数组初始化问题

问题描述 c语言中字符数组初始化问题 字符数组初始化1: char str[]=""123"";//不报错2: char str[4]; str=""123"";//不能将const char[4] to char[4]字符指针初始化1: char *str=""123"";//不报错2: char *str; str=""123"";//不报错求

c语言中字符数组系统初始化为什么?

问题描述 c语言中字符数组系统初始化为什么? c语言中声明一个字符数组,如果自己没有初始化,那系统初始化为什么?是被初始化为空字符吗?我的实验结果好像是空字符 解决方案 在debug调试下,vc会将它初始化为0xcc 0xcc...,也就是"烫烫烫烫...",release运行的时候,vc++不会初始化,内容随机,但是很大可能是0,因为只有在堆内存被重新分配的时候,才可能出现其他值. 其它编译器不好说. 解决方案二: C语言字符数组的初始化C语言字符数组的初始化

c语言-C语言二位数组初始化的问题

问题描述 C语言二位数组初始化的问题 我这有一本书上的解释里面int b[][4]={{0,0,3},{},{0,10}};是正确的,但是习题里面这个int b[][3]={{1,2,3},{},{4,5}};就是错误的:在vc6.0里面输入是前面的是错的,后面的是对的,我想确定下到底哪个是对的.初始化的时候花括号中可以社么都不写吗?谢谢了! 解决方案 可能是编译器的问题吧,在vs2010中以上两种赋值都是正确的. 初始化的时候花括号中什么都不写 例如: int b[][4] = {}; //也

浅析C语言中的数组及字符数组_C 语言

我们来编写一个程序,以统计各个数字.空白符(包括空格符.制表符及换行符)以及所有其它字符出现的次数.这个程序的实用意义并不大,但我们可以通过该程序讨论 C 语言多方面的问题. 所有的输入字符可以分成 12 类,因此可以用一个数组存放各个数字出现的次数,这样比使用 10 个独立的变量更方便.下面是该程序的一种版本: #include <stdio.h> /* count digits, white space, others */ main() { int c, i, nwhite, nothe

用ASP访问数据库的几种常见方式

用ASP访问数据库的几种常见方式 ActiveX Data Objects (ADO) 是一项容易使用并且可扩展的将数据库访问添加到 Web 页的技术.可以使用 ADO 去编写紧凑简明的脚本以便连接到 Open Database Connectivity (ODBC) 兼容的数据库和 OLE DB 兼容的数据源.如果您是一个对数据库连接有一定了解的脚本编写人员,那么您将发现 ADO 命令语句并不复杂而且容易掌握.同样地,如果您是一个经验丰富的数据库编程人员,您将会正确认识 ADO 的先进的与语言

Java语言入门教程(十一):Java语言中的数组

在教程(十)中,我们学习了Java类之间常见的两种关系,即关联和依赖. 如果A关联或依赖B,如果仅从A到B这个方向看,从数量上,可能有1对1和1对多 两种可能.面向对象的应用,都是映射现实世界的对象以及对象之间的关系的, 仔细考察一下我们身边的情况,对象与对象之间如果存在关联或依赖,其实1对 多的关系更为常见.如,一个部门有多个员工,一个学员有多个院系,一个人有 多张毕业证书- 上篇文章中的例子,学生只能选择一门免费课程学习,如果培训中心加大优 惠力度,每个学生最多可以选择3门课程学习,应该如何

C语言中的数组和指针汇编代码分析实例

  这篇文章主要介绍了C语言中的数组和指针汇编代码分析实例,本文用一则C语言例子来得到对应的汇编代码,并一一注解每句汇编代码的含义,需要的朋友可以参考下 今天看<程序员面试宝典>时偶然看到讲数组和指针的存取效率,闲着无聊,就自己写了段小代码,简单分析一下C语言背后的汇编,可能很多人只注重C语言,但在实际应用当中,当出现问题时,有时候还是通过分析汇编代码能够解决问题.本文只是为初学者,大牛可以飘过~ C源代码如下: 代码如下: #include "stdafx.h" int