Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah jenis golang baru?

Apakah jenis golang baru?

WBOY
WBOYasal
2023-05-10 21:52:35471semak imbas

Golang ialah bahasa pengaturcaraan yang semakin popular Semasa perkembangan pesatnya, soalan biasa ialah parameter jenis yang perlu disediakan apabila menggunakan kata kunci baharu dalam Golang. Soalan ini agak rumit dan memerlukan pemahaman yang mendalam tentang sistem jenis di Golang dan sifat kata kunci baharu.

Pertama, mari kita semak kata kunci baharu dalam Golang. Kata kunci baharu digunakan untuk memperuntukkan ruang memori pada timbunan dan mengembalikan alamatnya. Khususnya, new menerima parameter jenis dan mengembalikan penunjuk jenis itu. Berikut ialah contoh penggunaan kata kunci baharu:

var p *int
p = new(int)

Dalam contoh ini, kami menggunakan kata kunci baharu untuk mencipta penunjuk p yang menunjuk kepada jenis integer. Kita boleh menggunakan penunjuk p untuk mengakses ruang memori yang baru diperuntukkan jenis integer.

Walau bagaimanapun, jika kita cuba menghantar jenis struktur kepada baharu sebagai parameter, contohnya:

type Person struct {
    name string
    age int
}

var p *Person
p = new(Person)

Ini terbahagi kepada dua langkah Pertama, jenis struktur bernama Person ditakrifkan gunakan kata kunci baharu untuk memperuntukkan ruang memori untuknya. Begitu juga, kita boleh menggunakan penunjuk p untuk mengakses ruang memori yang baru diperuntukkan bagi jenis Orang.

Jadi, apakah jenis parameter yang perlu kita berikan kepada kata kunci baharu? Malah, kata kunci baharu dalam Golang boleh menerima sebarang jenis parameter. Khususnya, parameter jenisnya boleh menjadi jenis terbina dalam, jenis tersuai, jenis struktur, jenis tatasusunan, atau juga jenis antara muka kosong. Tiada sekatan antara jenis ini, dan sebarang jenis boleh digunakan sebagai parameter baharu.

Tidak kira jenisnya, yang baharu akan memperuntukkan ruang memori yang mencukupi pada timbunan dan mengembalikan penunjuk yang sepadan. Oleh itu, kita boleh menghantar apa-apa jenis pembolehubah atau nilai kepada yang baru dengan selamat, dan ia akan memperuntukkan ruang memori untuknya dan mengembalikan penunjuk jenis yang sepadan.

Perlu diingat bahawa dalam Golang, jenis penunjuk menyokong nilai nil, iaitu, penunjuk boleh menjadi batal. Ini bermakna jika kita menggunakan new untuk memperuntukkan memori dan menetapkannya kepada pembolehubah penunjuk, nilai awal pembolehubah penunjuk akan menjadi sifar. Contohnya:

var p *Person
p = new(Person)
fmt.Println(p) // 输出 nil

Dalam contoh ini, kami mentakrifkan pembolehubah penunjuk p yang menunjuk kepada jenis Orang dan menggunakan kata kunci baharu untuk memperuntukkan ruang memori untuknya. Memandangkan baru mengembalikan jenis penunjuk, dan nilai lalai jenis penunjuk ialah sifar, nilai awal pembolehubah p ialah sifar.

Untuk meringkaskan, kata kunci baharu dalam Golang boleh digunakan untuk memperuntukkan memori untuk sebarang jenis pembolehubah atau nilai dan mengembalikan penunjuk jenis yang sepadan. Memandangkan jenis penuding menyokong nilai sifar, nilai awal pembolehubah penunjuk yang dibuat menggunakan kata kunci baharu ialah sifar. Apabila menggunakan baharu, kita tidak perlu mempertimbangkan sekatan jenis, kita hanya perlu lulus pembolehubah atau nilai yang sepadan seperti yang diperlukan.

Atas ialah kandungan terperinci Apakah jenis golang baru?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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