>  기사  >  백엔드 개발  >  Golang에서 배열 교차를 구현하는 방법에 대해 이야기해 보겠습니다.

Golang에서 배열 교차를 구현하는 방법에 대해 이야기해 보겠습니다.

PHPz
PHPz원래의
2023-03-30 09:12:261581검색

Go 언어가 인터넷 분야에서 점점 더 널리 사용됨에 따라 Golang 언어의 배열 연산도 개발에 있어서 자주 관련된 문제가 되었습니다. 그중 Golang에서 배열의 교차도 일반적인 연산 중 하나입니다. Golang에서 배열의 교차를 구현하는 방법을 알아 보겠습니다.

1. Golang 배열

Golang 배열은 연속적인 요소로 구성됩니다. 요소 유형은 숫자, 문자열, 부울 값 등이 될 수 있습니다. Golang 언어에서는 배열의 길이도 고정되어 있습니다. 배열이 정의되면 길이를 수정할 수 없습니다. Golang 언어의 문법에 따라 배열을 정의할 때 배열 유형과 배열의 길이를 지정해야 합니다. 예는 다음과 같습니다.

var arr1 [3]int //定义一个包含三个整数的数组
var arr2 [2]string //定义一个包含两个字符串的数组

2. Golang 배열의 교차점 찾기

Golang에서 두 배열의 교차점을 찾는 방법입니다. 두 개의 배열 arr1과 arr2가 있고 이들의 교차점을 찾아야 한다고 가정합니다. 그렇다면 그것을 달성하는 방법은 무엇입니까? for 루프를 사용하여 각 배열의 요소를 순회하고 맵의 특성에 따라 요소를 쉽게 교차시킬 수 있습니다.

샘플 코드는 다음과 같습니다.

func intersection(arr1 []int, arr2 []int) []int {
    m := make(map[int]bool)
    res := make([]int, 0)
    for _, v := range arr1 {
        m[v] = true
    }
    for _, v := range arr2 {
        if m[v] {
            res = append(res, v)
        }
    }
    return res
}

이 코드에서 교차 함수는 두 개의 배열 매개변수 arr1과 arr2를 수신하고 make 함수를 사용하여 맵 m을 생성한 다음 arr1의 모든 요소를 ​​순회하여 다음 위치에 저장합니다. 지도 m에서. 그런 다음 arr2의 모든 요소를 ​​탐색하여 이러한 요소가 맵 m에 존재하는지 확인합니다. 존재하는 경우 이 요소를 res 배열에 추가하고 마지막으로 res 배열을 반환합니다. 할 수 있다.

테스트 코드는 다음과 같습니다.

func main() {
    arr1 := []int{1, 2, 3, 4, 5}
    arr2 := []int{2, 4, 6, 8, 10}
    fmt.Println(intersection(arr1, arr2))
}

출력 결과는

[2 4]

프로그램이 arr1과 arr2의 교집합인 2와 4를 반환하는 것을 볼 수 있습니다.

3. 요약

위의 소개를 통해 Golang 배열의 정의와 Golang 배열의 교차 구현 방법을 이해했습니다. 개발자에게 Golang 배열 교차 기술은 필요한 기술입니다. 이러한 방법을 익히면 이러한 기술을 개발에 더 잘 적용하고 코드의 품질과 효율성을 향상시킬 수 있습니다.

위 내용은 Golang에서 배열 교차를 구현하는 방법에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.