Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menukar antara muka{} dengan Selamat kepada Rentetan dalam Penghuraian Argumen Baris Perintah Docopt?
Dalam konteks penghuraian hujah baris arahan menggunakan docopt, nilai yang disimpan dalam peta yang terhasil adalah daripada jenis antara muka{}, yang boleh mewakili sebarang jenis data. Walau bagaimanapun, apabila cuba menggabungkan nilai dari peta ini ke dalam rentetan, ralat berlaku disebabkan oleh ketidakpadanan jenis.
Untuk menangani isu ini, penegasan jenis diperlukan untuk menukar nilai antara muka{} kepada rentetan sebelum penggabungan. Ini amat penting kerana peta adalah daripada jenis peta[rentetan]antara muka{}, yang mana nilainya boleh berbeza-beza mengikut jenis.
Kod yang dikemas kini adalah seperti berikut:
host := arguments["<host>"].(string) + ":" + arguments["<port>"].(string)
Ini penegasan jenis secara eksplisit menukar nilai antara muka{} kepada rentetan, memastikan penyatuan berjaya.
Sebagai alternatif, dalam versi terkini docopt, objek Opts yang dikembalikan menyediakan kaedah yang mudah untuk penukaran:
host, err := arguments.String("<host>") port, err := arguments.String("<port>") host_port := host + ":" + port
Kaedah ini akan mengendalikan penukaran kepada rentetan dan mengembalikan nilai yang ditukar, memudahkan kod dan menghapuskan keperluan untuk penegasan jenis dalam kes ini.
Atas ialah kandungan terperinci Bagaimana untuk Menukar antara muka{} dengan Selamat kepada Rentetan dalam Penghuraian Argumen Baris Perintah Docopt?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!