Go语言-切片和map

实例

package main

import (
                "fmt"
)

func main() {
                arr :=  make([]int, 0)
                //arr :=  make([]int)   is wrong
                //arr :=  make([]int, 100)   is right
                arr = append(arr, 1)
                arr = append(arr, 2)
                arr = append(arr, 3)
                arr = append(arr, 4)
                mymap := make(map[int]string)
                //mymap := make(map[int]string, 0)
                //mymap := make(map[int]string,1) is right
                mymap[0] = "10"
                mymap[1] = "110"
                mymap[2] = "1110"
                for _, val := range arr {
                                fmt.Println("val:", val)
                }

                for _, val := range mymap {
                                fmt.Println("val:", val)
                }
                fmt.Println()

    }

运行结果

    val: 1
    val: 2
    val: 3
    val: 4
    val: 10
    val: 110
    val: 1110

原文地址:http://blog.51cto.com/12880687/2130181

时间: 2024-11-10 21:10:39

Go语言-切片和map的相关文章

GO语言 切片 map 字符串

切片 1.什么是切片 切片本身不拥有任何数据,它们只是对现有数组的引用. 2.切片的定义 1.方式1:由数组切出来:var 变量名 []元素类型 = 数组名[开始值:结束值] //1.定义数组 var a [8]int=[8]int{1,2,3,4,5,6,7,8} //2.定义切片,注意[]中没有数字 var b []int=a[2:6] fmt.Println(b) // [3 4 5 6] //更多用法,没有步长 var a [8]int=[8]int{1,2,3,4,5,6,7,8} b

GO语言数组,切片,MAP总结

数组 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 数组的长度必须是常量,并且长度是数组类型的一部分.一旦定义,长度不能变.数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1,访问越界(下标在合法范围之外),则触发访问越界,会panic. 数组是值类型,赋值和传参会复制整个数组.因此改变副本的值,不会改变本身的值. 数组声明 var 数组变量名 [元素数量]元素类型 var a [3]int //声明

Go语言基础之map

map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用. map定义 Go语言中 map的定义语法如下: map[KeyType]ValueType 其中, KeyType:表示键的类型. ValueType:表示键对应的值的类型. map类型的变量默认初始值为nil,需要使用make()函数来分配内存.语法为: make(map[KeyType]ValueType, [cap]) // 容量 其中cap表示map的容量,该参数虽然不是必须的

golang 切片和map查询比较

package main import ( "fmt" "time" ) var testTimeSlice = []string{"aa", "bb", "cc", "dd", "ee", "aa", "zz"} var testTimeMap = map[string]bool{"aa": true, &

(三十八)golang--json(对切片、map、结构体进行序列化)

JSON(javascript object notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成.key-val JSON是在2001年开始推广的数据格式,目前已成为主流的数据格式. JSON易于机器解析和生成,并有效地提升网络传输效率.通常程序在网络传输时会先将数据(结构体.map)等序列化成json字符串,到接收方得到json数据时,再反序列化恢复成原来的数据类型.这种方式已成为各个语言的标准. 要解析成json格式,struct里面的字段必须大写!!!

Go语言切片初识

Go切片(Slice)是Go数组的一个抽象. 由于Go数组允许定义类型的变量,可以容纳相同数据类型的几个数据项,但它不提供任何内置的方法来动态增加其大小或获取自己的子数组.切片就没有这样的限制. 它提供了数组所需的许多实用功能,并广泛用于Go编程. 定义切片     var numbers []int /* 未指定大小 */     /* numbers == []int{0,0,0,0,0}*/     numbers = make([]int,6,6) /* 长度是6容量是6的切片*/ le

C语言 · C++中map的用法详解

转载自:http://blog.csdn.net/sunquana/article/details/12576729 一.定义   (1) map<string,   int>   Map;     (2) 或者是:typedef   map<string,int>   Mymap;                       Mymap   Map; 二.插入数据  插入数据之前先说一下pair 和 make_pair 的用法pair是一个结构体,有first和second 两个

GO语言练习:map基本用法

1.代码 2.运行 1.代码 文件:map.go 1 package main 2 import "fmt" 3 4 type PersionInfo struct{ 5 ID string 6 Name string 7 Address string 8 } 9 10 func main(){ 11 var persionDB map[string] PersionInfo 12 persionDB = make(map[string] PersionInfo) 13 14 pers

go语言切片作为函数参数的研究

slice作为函数参数是值传递 golang中的切片slice底层通过数组实现,slice类似一个结构体,其中一个字段保存的是底层数组的地址,还有长度(len) 和 容量(cap)两个字段. 结构体作为函数参数时是值拷贝,同理,实际上slice作为函数参数时也是值拷贝,在函数中对slice的修改是通过slice中保存的地址对底层数组进行修改,所以函数外的silce看起来被改变了. 当需要对slice做插入和删除时,由于需要更改长度字段,值拷贝就不行了,需要传slice本身在内存中的地址. 以删除