Kuasa Penulisan 10 Padat
Dalam Bahasa Pengaturcaraan Go, Latihan 3.13 mencabar pengaturcara untuk menulis pengisytiharan malar padat untuk KB, MB, ke atas kepada YB, mewakili kuasa 1000. Walaupun terdapat batasan mekanisme iota untuk menjana kuasa daripada 10, teks mencadangkan menggunakan pendekatan yang paling padat yang mungkin.
Literal Titik Terapung
Penyelesaian yang cekap ruang ialah menggunakan literal titik terapung dengan bahagian eksponen . Sebagai contoh, penulisan 1e3 mengambil ruang kurang daripada 1000. Menggabungkan semua pengecam ke dalam spesifikasi malar tunggal mengurangkan lagi bilangan tanda yang sama. Berikut ialah pengisytiharan ringkas (67 aksara tanpa ruang):
const ( KB, MB, GB, TB, PB, EB, ZB, YB = 1e3, 1e6, 1e9, 1e12, 1e15, 1e18, 1e21, 1e24 )
Huruf Integer Menggunakan KB sebagai Pengganda
Mencipta pemalar integer yang tidak ditaip memerlukan penulisan 1000 untuk KB. Untuk mendapatkan nilai seterusnya, pengecam sebelumnya boleh didarab dengan 1000. Walau bagaimanapun, KB juga boleh digunakan sebagai pengganda, kerana ia mewakili 1000. Pengisytiharan berikut ialah 77 aksara tanpa ruang:
const (KB,MB,GB,TB,PB,EB,ZB,YB = 1000,KB*KB,MB*KB,GB*KB,TB*GB,PB*KB,EB*KB,ZB*KB)
Menggunakan Kons Tambahan untuk Pendaraban
Memperkenalkan tambahan 1 aksara const x membolehkan penjimatan ruang selanjutnya dengan menggantikan *KB dengan x:
const (x,KB,MB,GB,TB,PB,EB,ZB,YB = 1000,x,x*x,MB*x,GB*x,TB*GB,PB*x,EB*x,ZB*x)
Rune Literal
Menggunakan literal rune dengan titik kod daripada 1000 ('Ϩ') mengurangkan ruang yang diperlukan oleh satu aksara lagi:
const (x,KB,MB,GB,TB,PB,EB,ZB,YB = 'Ϩ',x,x*x,MB*x,GB*x,TB*GB,PB*x,EB*x,ZB*x)
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengisytiharkan Kuasa 10 dalam Go dengan Padat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!