Rumah >pembangunan bahagian belakang >Golang >Asas Go: Sintaks dan Struktur

Asas Go: Sintaks dan Struktur

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-15 06:51:47309semak imbas

Go Basics: Syntax and Structure

Selamat datang ke bahagian kedua Siri Tutorial Pengaturcaraan Go kami, direka untuk membina asas Go (Golang) yang kukuh. Artikel ini, memfokuskan pada Asas Pergi: Sintaks dan Struktur, merangkumi segala-galanya daripada "Hello, World" pertama anda. atur cara kepada pembolehubah, pemalar, jenis data dan banyak lagi. Sama ada anda seorang pemula atau ingin memperhalusi kemahiran anda, panduan ini menyediakan pengetahuan untuk menulis kod Go yang cekap dan bersih.

Setelah selesai, anda akan dapat:

  • Buat program Go pertama anda: Hello, World!
  • Fahami pakej main dan fungsi main.
  • Kendalikan pembolehubah, pemalar dan jenis data.
  • Pahami konsep nilai sifar dalam Go.
  • Gunakan inferens jenis dan penukaran jenis.

Mari kita mulakan!


Konsep Teras

1. Program First Go Anda: Hello, World!

Setiap perjalanan pengaturcaraan bermula dengan "Hello, World!". Dalam Pergi:

<code class="language-go">package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}</code>

Penjelasan:

  • package main: Setiap program Go bermula dengan pengisytiharan pakej. main menandakan program boleh laku.
  • import "fmt": Mengimport pakej fmt untuk output konsol (seperti Println).
  • func main(): Titik masuk program. Pelaksanaan bermula di sini.
  • fmt.Println("Hello, World!"): Mencetak "Hello, World!" ke konsol.

2. Memahami main Pakej dan main Fungsi

  • Pakej main adalah penting untuk mencipta program Go boleh laku. Tanpanya, kod anda tidak akan berjalan secara bebas.
  • Fungsi main adalah wajib dalam pakej main; ia adalah titik permulaan program.

3. Sintaks Asas: Pembolehubah, Pemalar dan Jenis Data

Go ditaip secara statik—anda mesti menentukan jenis data pembolehubah. Walau bagaimanapun, Go turut menyokong inferens jenis untuk kod ringkas.

Pembolehubah

Pembolehubah diisytiharkan menggunakan var:

<code class="language-go">var name string = "Go Programmer"
var age int = 30</code>

Ringkas (dalam fungsi):

<code class="language-go">name := "Go Programmer"
age := 30</code>

Malar

Pemalar ialah nilai tidak berubah, diisytiharkan dengan const:

<code class="language-go">const pi float64 = 3.14159</code>

Jenis Data

Go menawarkan pelbagai jenis data terbina dalam:

  • Jenis asas: int, float64, string, bool. Contoh:
<code class="language-go">var age int = 35
var price float64 = 29.99
var name string = "Bob"
var isActive bool = true</code>
  • Jenis komposit: array, slice, struct, map. Contoh:
<code class="language-go">// Array
var scores [3]int = [3]int{95, 80, 92}

// Slice
var grades []float64 = []float64{88.2, 91.5, 78.9}

// Struct
type Person struct {
    FirstName string
    LastName  string
    Age       int
}
var person = Person{"Jane", "Doe", 28}

// Map
var capitals map[string]string = map[string]string{
    "France": "Paris",
    "Italy":  "Rome",
}</code>

4. Nilai Sifar dalam Go

Pembolehubah tanpa permulaan yang jelas menerima nilai sifarnya:

  • 0 untuk jenis angka.
  • false untuk boolean.
  • "" (rentetan kosong) untuk rentetan.
  • nil untuk penunjuk, kepingan, peta dan saluran.

Contoh:

<code class="language-go">package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}</code>

5. Inferens Jenis dan Penukaran Jenis

Go menyimpulkan jenis pembolehubah daripada nilai yang ditetapkan:

<code class="language-go">var name string = "Go Programmer"
var age int = 30</code>

Penukaran jenis memerlukan penghantaran eksplisit:

<code class="language-go">name := "Go Programmer"
age := 30</code>

Contoh Praktikal

Mari kita buat program yang menunjukkan pembolehubah, pemalar, jenis data, nilai sifar, inferens jenis dan penukaran jenis:

<code class="language-go">const pi float64 = 3.14159</code>

(Kod akan sama dengan contoh dalam teks asal, dengan nama pembolehubah yang mungkin sedikit berbeza untuk mengekalkan kejelasan dan mengelakkan pengulangan.)

Output (Serupa dengan output asal)

(Output akan serupa dengan contoh asal, mencerminkan nilai dan jenis pembolehubah.)

Penjelasan:

(Penjelasan akan sama seperti yang asal, menerangkan setiap bahagian kod.)


Amalan Terbaik

  1. Nama Pembolehubah Deskriptif: Gunakan nama yang jelas dan bermakna.
<code class="language-go">var age int = 35
var price float64 = 29.99
var name string = "Bob"
var isActive bool = true</code>
  1. Inferens Jenis: Gunakan := apabila jenisnya jelas.
<code class="language-go">// Array
var scores [3]int = [3]int{95, 80, 92}

// Slice
var grades []float64 = []float64{88.2, 91.5, 78.9}

// Struct
type Person struct {
    FirstName string
    LastName  string
    Age       int
}
var person = Person{"Jane", "Doe", 28}

// Map
var capitals map[string]string = map[string]string{
    "France": "Paris",
    "Italy":  "Rome",
}</code>
  1. Elakkan Penukaran Jenis Tidak Perlu: Tukar hanya apabila diperlukan.
  2. Permulaan Pembolehubah Eksplisit: Mulakan pembolehubah dengan jelas.
  3. Bersih main Fungsi: Pastikan main ringkas; mewakilkan logik kepada fungsi lain.

Kesimpulan

Artikel ini merangkumi sintaks dan struktur asas Go, termasuk "Hello, World!" atur cara, pakej dan fungsi main, pembolehubah, pemalar, jenis data, nilai sifar, inferens jenis dan penukaran jenis. Menguasai asas ini adalah penting untuk perjalanan pengaturcaraan Go anda.

Percubaan dengan program contoh atau cipta sendiri untuk mengukuhkan pemahaman anda.


Seruan Bertindak

Artikel ini adalah sebahagian daripada Siri Tutorial Go kami yang berterusan. Cari tutorial seterusnya tentang Struktur Kawalan dalam Go!

Selamat pengekodan! ?

Atas ialah kandungan terperinci Asas Go: Sintaks dan Struktur. 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