GO基本数据结构练习:数组,切片,映射

简介: 按《GO IN ACTION》的书上进行。 应该是第二次了哦~~ package main import ( "fmt" ) func main() { array := [5]*int{0: new(int), 3: new(int)} *array[3] = 50 /* for k, v := range array { fmt.

按《GO IN ACTION》的书上进行。

应该是第二次了哦~~

package main

import (
	"fmt"
)

func main() {
	array := [5]*int{0: new(int), 3: new(int)}

	*array[3] = 50
	/*
		for k, v := range array {
			fmt.Println(*array[k], k, v)
		}
	*/
	fmt.Println(*array[3])

	var array1 [3]*string
	array2 := [3]*string{new(string), new(string), new(string)}
	*array2[0] = "Red"
	*array2[1] = "Blue"
	*array2[2] = "Green"

	array1 = array2

	*array1[1] = "Black"
	fmt.Println(array1)
	fmt.Println(array2)

	for k, v := range array1 {
		fmt.Println(*array1[k], k, *v)
	}

	for k, v := range array2 {
		fmt.Println(*array2[k], k, *v)
	}

	slice := []int{10, 20, 30, 40, 50}
	newSlice := slice[1:3:3]
	newSlice[1] = 35
	newSlice = append(newSlice, 60)
	newSlice = append(newSlice, 70)
	newSlice = append(newSlice, 80)
	newSlice = append(newSlice, 90)

	slice = append(slice, 60)
	slice = append(slice, 70)
	slice = append(slice, 80)
	newSlice = append(newSlice, 100)

	slice1 := []int{10, 20, 30, 40}
	newSlice1 := append(slice1, 50)

	slice1[2] = 200
	newSlice1[2] = 2000

	fmt.Println(slice)
	fmt.Println(newSlice)

	fmt.Println(slice1)
	fmt.Println(newSlice1)

	for index, value := range slice {
		fmt.Printf("index: %d Value: %d\n", index, value)
	}

	for index := 2; index < len(slice); index++ {
		fmt.Printf("Index: %d Value: %d\n", index, slice[index])
	}

	source := []string{"Apple", "Orange", "Plum", "Banana", "Grape"}
	newSource := source[2:3:4]

	fmt.Println(source)
	fmt.Println(newSource)

	s1 := []int{1, 2}
	s2 := []int{3, 4}

	fmt.Printf("%v\n", append(s1, s2...))

	colors := map[string]string{
		"AliceBlue":   "#f0f8ff",
		"Coral":       "#ff7F50",
		"DarkGray":    "#a9a9a9",
		"ForestGreen": "#228b22",
	}

	delete(colors, "Coral")

	for key, value := range colors {
		fmt.Printf("Key: %s Value: %s\n", key, value)
	}

}

  

目录
相关文章
|
2月前
|
Go
go语言中遍历映射(map)
go语言中遍历映射(map)
55 8
|
29天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
39 7
|
3月前
|
存储 前端开发 Go
Go语言中的数组
在 Go 语言中,数组是一种固定长度的、相同类型元素的序列。数组声明时长度已确定,不可改变,支持多种初始化方式,如使用 `var` 关键字、短变量声明、省略号 `...` 推断长度等。数组内存布局连续,可通过索引高效访问。遍历数组常用 `for` 循环和 `range` 关键字。
|
28天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
105 67
|
29天前
|
存储 Go
go语言中映射
go语言中映射
36 11
|
1月前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
35 12
|
2月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
68 5
|
2月前
|
Go
go语言中遍历映射同时遍历键和值
go语言中遍历映射同时遍历键和值
26 7
|
2月前
|
存储 Go
go语言 遍历映射(map)
go语言 遍历映射(map)
38 2
|
2月前
|
存储 Go
go语言中遍历映射遍历值
go语言中遍历映射遍历值
22 1