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)
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
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!