Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mengisytiharkan Kuasa 10 dalam Go dengan Padat?

Bagaimanakah Saya Boleh Mengisytiharkan Kuasa 10 dalam Go dengan Padat?

Linda Hamilton
Lepaskan: 2024-12-01 14:16:14
asal
280 orang telah melayarinya

How Can I Compactly Declare Powers of 10 in Go?

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 )
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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!

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