Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menukar `antara muka{}` kepada `rentetan` dengan Selamat dalam Go Apabila Menggunakan docopt?

Bagaimana untuk Menukar `antara muka{}` kepada `rentetan` dengan Selamat dalam Go Apabila Menggunakan docopt?

Susan Sarandon
Lepaskan: 2024-12-02 20:40:20
asal
855 orang telah melayarinya

How to Safely Convert `interface{}` to `string` in Go When Using docopt?

Penukaran antara muka{} kepada String in Go

Apabila menggunakan docopt untuk menghuraikan argumen baris perintah, hasilnya ialah peta jenis peta[rentetan]antara muka{ }. Walau bagaimanapun, apabila cuba menggabungkan nilai dari peta ini, ralat mungkin berlaku disebabkan jenis tidak padan. Ini kerana nilai peta adalah daripada jenis antara muka{}, yang boleh jadi apa sahaja. Untuk menyelesaikan isu ini, jenis penegasan diperlukan.

Untuk menukar nilai antara muka{} kepada rentetan, gunakan pengendali .(rentetan). Operator ini menegaskan bahawa nilai boleh dihantar ke rentetan. Contohnya:

host := arguments["<host>"].(string) + ":" + arguments["<port>"].(string)
Salin selepas log masuk

Dalam contoh ini, nilai untuk "hos" dan "port" diperoleh daripada peta argumen, dan kemudian ditukar kepada rentetan menggunakan pengendali .(rentetan).

Versi terkini docopt menyediakan objek Opts dengan kaedah untuk penukaran jenis. Kaedah ini boleh digunakan seperti berikut:

host, err := arguments.String("<host>")
port, err := arguments.String("<port>")
host_port := host + ":" + port
Salin selepas log masuk

Kaedah String() menukar nilai kepada rentetan, memudahkan proses penukaran jenis.

Atas ialah kandungan terperinci Bagaimana untuk Menukar `antara muka{}` kepada `rentetan` dengan Selamat dalam Go Apabila Menggunakan docopt?. 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