golang 学习笔记(1)数组,切片,字典

前端之家收集整理的这篇文章主要介绍了golang 学习笔记(1)数组,切片,字典前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
// test10 project main.go
package main

import (
	"fmt"
)

const (
	a    int    = 1
	b    string = "td"
	flag bool   = false
	c           = "33"
)

func testArray() {
	//一维数组
	var arr [2]int
	arr[0] = 1
	arr[1] = 1

	var arr2 [2]int = [2]int{1,2} ////可以简写 如:var arr2=[2]int{1,2}
	var arr3 [2]int = [...]int{1,2}

	//二维数组
	var arr4 [2][2]int = [2][2]int{[2]int{1,2},[2]int{3,4}}
	var arr5 [2][2]int = [2][2]int{[...]int{1,[...]int{3,4}}
	var arr6 [2][2]int = [2][2]int{{2,3},{3,4}}
}

/*
数组和slice的区别
a.生命数组的时候,方括号内写明了数组的长度或者...,生命slice的时候,方括号内为空
b.作为函数参数的时候,数组传递的是数组的副本,而slice传递的是指针
*/
func testSlice() {
	//var arr1 []int     //创建切片
	//arr1 := make([]int,2)  //创建slice
	arr := []int{1,2}

	//对于数组切片
	var tmp = [3]int{1,2,3}
	arr = tmp[0:2]

	//slice append
	arr = append(arr,1,3)
	for i := 0; i < len(arr); i++ {
		fmt.Println("%d",arr[1])
	}
}

func testMap() {
	//var m map[string]int      //创建map//
	//m := make(map[string]int) //创建map
	m := map[string]int{"one": 1,"two": 2,"three": 3}
	m["one"] = 5

	//遍历
	for k,v := range m {
		fmt.Println(k,v)
	}

	//判断key是否存在,v位value,ok位标示  true|false
	v,ok := m["e"]
	fmt.Print(v,ok)

	//删除键
	delete(m,"one")

}

猜你在找的Go相关文章