배열을 병합하고 인덱스 값을 삭제하는 Golang 배열의 간단한 작업
배우기 쉬운 골랑기사 디렉토리
1. 인터페이스 배열([]인터페이스{})이란 무엇입니까?
[]interface{} 함수에 값을 전달할 때 Go 런타임은 유형 변환(필요한 경우)을 수행하고 값을 interface{} 유형의 값으로 변환합니다. 모든 값은 런타임에 하나의 유형만 가지며 v의 정적 유형은 인터페이스{}입니다.
2. 상세 코드
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에서 배열을 인터페이스하는 간단한 방법을 쉽게 이해하십시오.
이 블로그가 당신에게 유용하기를 바랍니다. 나는 빛의 왕이고, 나 자신을 위해 말한다.