Golang 数组的简单操作之合并数组与删除某个索引的值 Golang轻松学习

一、接口数组([]interface{})是什么?

当将值传递给 []interface{} 函数时,Go 运行时将执行类型转换(如果需要),并将值转换为 interface{} 类型的值。所有值在运行时只有一个类型,而 v 的一个静态类型是 interface{} 。

二、详细代码

1.合并数组

代码如下(示例):

// MergeArray 合并数组
func MergeArray(dest []interface{}, src []interface{}) (result []interface{}) {
	result = make([]interface{}, len(dest)+len(src))
	//将第一个数组传入result
	copy(result, dest)
	//将第二个数组接在尾部,也就是 len(dest):
	copy(result[len(dest):], src)
	return
}

2.删除数组中的某个索引

代码如下(示例):

// DeleteIndex 删除数组
func DeleteIndex(src []interface{}, index int) (result []interface{}) {
	// 删除 也就是将该之前与之后的数组合并成新数组
	result = append(src[:index], src[(index+1):]...)
	return
}

3.完整代码

代码如下(示例):

package main

import (
	"fmt"
)

func main() {

	//建立数组1
	list1 := []interface{}{
		"1", "2",
	}
	//建立数组2
	list2 := []interface{}{
		"3", "4",
	}

	fmt.Println(MergeArray(list1, list2))

	fmt.Println(DeleteIndex(list1, 1))

}

// MergeArray 合并数组
func MergeArray(dest []interface{}, src []interface{}) (result []interface{}) {
	result = make([]interface{}, len(dest)+len(src))
	//将第一个数组传入result
	copy(result, dest)
	//将第二个数组接在尾部,也就是 len(dest):
	copy(result[len(dest):], src)
	return
}

// DeleteIndex 删除数组
func DeleteIndex(src []interface{}, index int) (result []interface{}) {
	// 删除 也就是将该之前与之后的数组合并成新数组
	result = append(src[:index], src[(index+1):]...)
	return
}


总结

轻松了解在Golang中接口数组的简单方法,来减少平时工作中重复造轮子的时间。

希望这个博客能对你有所益处。我是轻王,我为自己代言。