` dan `" />
Kekangan Perbandingan dalam Go Generik: Memahami Had Operator Pesanan
Dalam Go generik, membandingkan nilai berangka boleh dicapai menggunakan sama ada kekangan jenis tersuai atau kekangan sebanding terbina dalam. Walau bagaimanapun, menggunakan kekangan setanding dengan pengendali pesanan seperti > boleh menimbulkan ralat.
Kekangan setanding
Kekangan setanding digunakan untuk jenis yang menyokong pengendali kesaksamaan == dan !=. Ia juga boleh digunakan untuk jenis yang digunakan sebagai kunci peta, termasuk tatasusunan dan struct dengan medan yang setanding. Walau bagaimanapun, ambil perhatian bahawa ia tidak menyokong pengendali pesanan (<, <=, >, >=).
Operator Pesanan dan kekangan.Dipesan
Pengendali pesanan hanya terpakai kepada jenis yang melaksanakan kekangan. Antara muka tertib. Antara muka ini mentakrifkan susunan separa untuk jenis yang diwakilinya. Walau bagaimanapun, dalam Go versi 1.18 hingga 1.20, kekangan. Antara muka tertib hanya tersedia dalam pakej percubaan golang.org/x/exp.
Go 1.21 Solution
Dalam Go 1.21, pakej cmp memperkenalkan kekangan Tertib dan dua fungsi generik, Kurang dan Bandingkan, yang memudahkan perbandingan untuk jenis yang dipesan.
Penyelesaian untuk Go 1.18 hingga 1.20
Dalam Go versi 1.18 hingga 1.20, anda boleh menggunakan golang.org/x/ pakej exp untuk mengakses kekangan. Antara muka tersusun. Sebagai alternatif, anda boleh melaksanakan jenis tersuai anda sendiri yang memenuhi kekangan. Antara muka tersusun dan menggunakannya dalam fungsi generik anda.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Gunakan `>` dan `. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!