Rumah > pembangunan bahagian belakang > Golang > Belajar Golang dalam Anda Tidak Akan Menyesal

Belajar Golang dalam Anda Tidak Akan Menyesal

Susan Sarandon
Lepaskan: 2024-12-31 10:25:14
asal
453 orang telah melayarinya

Seperti yang saya jelaskan dalam artikel sebelumnya, kami sedang berusaha untuk membina LiveAPI, alat penjanaan dokumen auto-API. Bahagian belakang LiveAPI berada di Golang dan saya sedang menemui ciri unik dan hebat Golang.

Bagi mereka yang tidak tahu, Golang (Go) ialah bahasa pengaturcaraan yang direka di Google pada tahun 2009. Ia serupa dengan sintaksis C.

Sebelum mengerjakan projek Golang, saya menggunakan rangka kerja web Node.js dan Python. Bagi pemula beralih ke Golang daripada domain lain, ia mungkin agak sukar pada mulanya, tetapi sebaik sahaja anda berlatih dan memperoleh kepakaran, anda tidak akan meninggalkannya.

Projek Golang pertama saya ialah menukar alat Python CLI, Glee, kepada Golang.

Learn Golang in You Won

Kami mendapati Python lebih perlahan dan mengekalkan satu binari CLI tersusun adalah sangat sukar, binari kadangkala tidak serasi dengan Mac OS. Isu-isu ini dan lain-lain memaksa kami beralih ke Golang. Berikut ialah siaran Reddit tentang cerita dan isu di sebalik suis.

Dalam artikel ini, saya akan menerangkan ciri unik di Golang yang menarik perhatian saya.

1. Goroutines - Concurrency Ringan

func main() {
    go sayHello("World") // runs concurrently
    time.Sleep(1 * time.Second) 
}

func sayHello(name string) {
    fmt.Printf("Hello, %s!\n", name)
}
Salin selepas log masuk

Fikirkan goroutine seperti pekerja kecil yang boleh melakukan tugasan secara bebas. Ia jauh lebih ringan daripada benang tradisional - anda boleh mencipta beribu-ribu daripadanya tanpa mendapat prestasi.

Learn Golang in You Won

2. Saluran - Komunikasi Terbina dalam

func main() {
    messages := make(chan string)
    go func() { messages <- "ping" }()
    msg := <-messages
    fmt.Println(msg)
}
Salin selepas log masuk

Saluran adalah seperti paip yang membolehkan goroutine berkomunikasi dengan selamat. Bayangkan dua orang menghantar nota melalui tiub - seorang menulis dan memasukkannya ke dalam, seorang lagi mengeluarkannya.

3. Tangguh - Pembersihan Dipermudahkan

func readFile() {
    file, err := os.Open("test.txt")
    defer file.Close() // Will run when function exits 
}
Salin selepas log masuk

Tangguhan adalah seperti menetapkan peringatan untuk tugas pembersihan. Ia sama seperti menulis nota post-it yang mengatakan "jangan lupa tutup fail" sebaik sahaja anda membukanya.

4. Pelaksanaan Antara Muka - Kontrak Tersirat

type Writer interface {
    Write([]byte) (int, error)
}

type ConsoleWriter struct{}

func (cw ConsoleWriter) Write(data []byte) (int, error) {
    return fmt.Println(string(data))
}
Salin selepas log masuk

Antara muka Go berpuas hati secara tersirat - jika sesuatu jenis mempunyai kaedah yang betul, ia secara automatik melaksanakan antara muka. Ia seperti menyertai kelab: anda tidak perlu mengisytiharkan keahlian secara rasmi; jika anda boleh melakukan apa yang diperlukan oleh kelab, anda akan masuk secara automatik.

5. Nilai Pulangan Berbilang - Pengendalian Ralat Asli

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("cannot divide by zero")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    fmt.Println("Result:", result)
}
Salin selepas log masuk

Nilai pulangan berbilang menjadikan pengendalian ralat semula jadi dan eksplisit dalam Go. Ia seperti mendapatkan pakej dan resit semasa membeli-belah - anda boleh menyemak sama ada semuanya baik-baik saja sebelum meneruskan. Corak ini menggalakkan pembangun mengendalikan ralat dengan betul.

Ini hanyalah beberapa ciri yang saya suka dalam Go. Terdapat juga yang lain, seperti perduaan boleh laku tunggal, prestasi lebih pantas, inferens jenis, sokongan ujian terbina dalam dan kompilasi silang.

Jika anda membuat azam untuk 2025, tambahkan Golang pada senarai anda. Anda tidak akan menyesal. Terima kasih kerana membaca! Jika anda ingin mempelajari Golang dengan menyumbang kepada projek sumber terbuka, lihat glee dan Lama2.

Atas ialah kandungan terperinci Belajar Golang dalam Anda Tidak Akan Menyesal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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