一、接口数组([]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中接口数组的简单方法,来减少平时工作中重复造轮子的时间。
希望这个博客能对你有所益处。我是轻王,我为自己代言。