Rumah >pembangunan bahagian belakang >Golang >Bagaimana Mendapatkan Masa Tertentu dengan Cekap untuk Hari Berikutnya dalam Go?
Pengenalan
Mendapatkan masa yang tepat untuk hari berikutnya boleh tugas biasa apabila bekerja dengan tarikh dan masa dalam Go. Artikel ini meneroka pendekatan yang lebih pendek dan cekap untuk mencapai matlamat ini.
Masalah
Kod sedia ada secara berkesan mencipta masa untuk titik masa tertentu pada hari berikutnya dengan menambah satu hari ke Tarikh dengan jam dan minit yang dikehendaki. Walau bagaimanapun, ia melibatkan berbilang panggilan fungsi dan boleh menjadi verbose.
Jawapan
Pakej masa dalam Go menyediakan cara yang lebih ringkas untuk mencapai hasil yang diingini. Kaedah Pusingan(0) boleh digunakan untuk membundarkan masa semasa kepada keseluruhan saat yang terdekat. Menggunakan masa bulat ini sebagai asas, masa baharu boleh dibuat dengan menetapkan nilai tarikh secara berasingan.
Kod Cekap
<code class="go">package main import ( "fmt" "time" ) func main() { now := time.Now().Round(0) yyyy, mm, dd := now.Date() tomorrow := time.Date(yyyy, mm, dd+1, 15, 0, 0, 0, now.Location()) fmt.Println(tomorrow) }</code>
Cara Ia Berfungsi
Kod ini berfungsi dengan:
Pengoptimuman
Kod ini dioptimumkan dengan meminimumkan panggilan ke masa fungsi dan kaedah pakej. Dengan mengira tahun, bulan dan hari sekali sahaja dan kemudian menggunakannya semula untuk mencipta esok, bilangan panggilan fungsi dikurangkan dengan ketara.
Hasil Penanda Aras
Tanda Aras menunjukkan bahawa pendekatan yang dioptimumkan ini mengatasi kaedah lain. Jadual berikut memaparkan hasil penanda aras:
Benchmark | Operations per Second |
---|---|
BenchmarkNow | 31197811 |
BenchmarkTomorrowPeterSO | 29852671 |
BenchmarkTomorrowJens | 9523422 |
Atas ialah kandungan terperinci Bagaimana Mendapatkan Masa Tertentu dengan Cekap untuk Hari Berikutnya dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!