배열을 병합하고 인덱스 값을 삭제하는 Golang 배열의 간단한 작업

배열을 병합하고 인덱스 값을 삭제하는 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에서 배열을 인터페이스하는 간단한 방법을 쉽게 이해하십시오.

이 블로그가 당신에게 유용하기를 바랍니다. 나는 빛의 왕이고, 나 자신을 위해 말한다.

추천

출처blog.csdn.net/moer0/article/details/123142225