


Bagaimana untuk menukar int kepada jenis generik yang mengandungi complex128 dalam Go?
Editor php Xiaoxin akan memperkenalkan kepada anda cara menukar int kepada jenis generik yang mengandungi complex128 dalam bahasa Go. Dalam bahasa Go, kita boleh menggunakan penegasan jenis untuk mencapai penukaran ini. Penegasan jenis ialah cara untuk menyemak jenis nilai antara muka Sintaksnya ialah val.(Jenis), dengan val ialah nilai antara muka dan Jenis ialah jenis yang ditegaskan. Dengan menggunakan penegasan jenis, kita boleh menukar nilai jenis int kepada nilai generik jenis kompleks128 untuk mencapai kefungsian penukaran yang diingini. Seterusnya, kami akan memperkenalkan kaedah pelaksanaan khusus secara terperinci.
Kandungan soalan
Saya tidak tahu cara untuk menukar int
转换为包含 complex128
的通用类型。下面是一个示例,除非注释掉 complex128
atau ia tidak akan disusun:
package main import "fmt" type val interface { int64 | float64 | complex128 } func f[V val](a, b V) (c V) { q := calc() return a * b * V(q) } func calc() int { // lengthy calculation that returns an int return 1 } func main() { fmt.Printf("%v\n", f(int64(1), int64(2))) }
Ini dipermudahkan daripada pengiraan yang lebih besar. Saya telah cuba menggunakan suis, tetapi setiap sintaks yang saya cuba nampaknya menghadapi rintangan dari satu jenis atau yang lain.
Bagaimana untuk mendarab a
和 b
dengan integer?
Saya cuba menggunakan suis yang mengembalikan jenis pembolehubah, seperti any(c).(type)
但例如如果我有 case complex128:
那么它拒绝允许 complex
内置,因为它不允许返回 v
.
Di atas akan disusun tanpa complex128
. complex128
上面的内容将编译。
解决方法
这个可以工作,但需要列出 switch
suis
: 🎜
func f[V val](a, b V) (c V) { q := calc() var temp any switch any(c).(type) { case complex128: temp = complex(float64(q), 0) case int64: temp = int64(q) default: temp = float64(q) } return a * b * (temp.(V)) }
Atas ialah kandungan terperinci Bagaimana untuk menukar int kepada jenis generik yang mengandungi complex128 dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Masalah Threading Giliran di GO Crawler Colly meneroka masalah menggunakan Perpustakaan Colly Crawler dalam bahasa Go, pemaju sering menghadapi masalah dengan benang dan permintaan beratur. � ...

Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

Mengenai masalah tag struktur tersuai di Goland apabila menggunakan Goland untuk pembangunan bahasa Go, anda sering menghadapi beberapa masalah konfigurasi. Salah satu daripada mereka adalah ...

GO LANGUAGE SLISE INDEX: Mengapa kepingan tunggal elemen memintas dari Indeks 1 tanpa ralat? Dalam bahasa Go, kepingan adalah struktur data yang fleksibel yang boleh merujuk kepada bahagian bawah ...

GO Pointer Syntax dan menangani masalah dalam penggunaan perpustakaan Viper semasa pengaturcaraan dalam bahasa Go, adalah penting untuk memahami sintaks dan penggunaan petunjuk, terutama dalam ...

Perbezaan antara percetakan rentetan dalam bahasa Go: perbezaan kesan menggunakan fungsi println dan rentetan () sedang ...

Mengapa lelaran peta di GO menyebabkan semua nilai menjadi elemen terakhir? Dalam bahasa Go, ketika berhadapan dengan beberapa soalan wawancara, anda sering menemui peta ...
