Bagaimana untuk Mencapai Fungsi Pemahaman Senarai Python dalam Go?

Patricia Arquette
Lepaskan: 2024-11-19 04:20:02
asal
583 orang telah melayarinya

How to Achieve Python List Comprehension Functionality in Go?

Setara Pemahaman Senarai Python dalam Go

Pemahaman senarai Python menyediakan cara ringkas untuk menapis dan mengubah jujukan. Dalam Go, fungsi penapis boleh digunakan untuk mencapai fungsi yang serupa. Walau bagaimanapun, untuk gelung mungkin menawarkan pendekatan yang lebih cekap dan mudah.

Untuk menghasilkan semula pemahaman senarai Python:

array = [a for a in anotherArray  if (some condition)]
Salin selepas log masuk

Dalam Go, anda boleh menggunakan fungsi penapis berikut:

import (
    "fmt"
    "math"
    "math/big"
)

func main() {
    anotherArray := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
    newArray := filter(anotherArray, func(a int) bool {
        return a%2 == 0
    })
    fmt.Println(newArray) // [2 4 6 8]
}
Salin selepas log masuk

Fungsi penapis mengambil dua hujah: urutan untuk ditapis dan fungsi predikat yang menentukan elemen yang hendak disertakan. Ia mengembalikan kepingan yang mengandungi hanya elemen yang memenuhi predikat.

Untuk ungkapan yang lebih kompleks, anda boleh menggunakan fungsi lambda, sama seperti contoh Python:

min := func() *big.Int {
    a := big.NewInt(0)
    return a
}()
for i := 0; i < n; i++ {
    for j := i; j < n; j++ {
        potentialMin := big.NewInt(0)
        potentialMin.Abs(a[i].Sub(a[i], b[j]))
        if potentialMin.Cmp(min) == -1 {
            min = potentialMin
        }
    }
}
Salin selepas log masuk

Walau bagaimanapun, GoDoc untuk perpustakaan penapis menasihatkan bahawa untuk gelung adalah lebih cekap dan lebih baik daripada pakej. Oleh itu, untuk kesederhanaan dan kebolehbacaan, penggunaan untuk gelung adalah disyorkan.

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Fungsi Pemahaman Senarai Python dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan