Rumah > Artikel > pembangunan bahagian belakang > Koleksi soalan novis Golang: Selesaikan masalah biasa dan bergerak ke arah penambahbaikan
Mensasarkan masalah biasa orang baru Golang, artikel ini menyediakan penyelesaian yang jelas: tentukan dan mulakan struktur: taip Person struct { Nama rentetan umur }; = make (map[string]int); m["Alice"] = 10 Kendalikan nombor pembolehubah parameter: func sumAll(...int) int Baca dan tulis fail: fail buka, tulis, baca Cipta dan gunakan Goroutine: go concurrentFunc (i)
Koleksi soalan novis Golang: Selesaikan masalah biasa dan bergerak ke arah penambahbaikan
Sebagai orang baru di Golang, mudah untuk menghadapi pelbagai masalah. Artikel ini akan membantu pemula menjadi lebih baik dengan menyediakan penyelesaian yang jelas dan mudah difahami kepada beberapa kekecewaan yang paling biasa.
1. Bagaimana untuk menentukan dan memulakan struktur?
type Person struct { Name string Age int } p := Person{"John Doe", 30}
2. Bagaimana untuk menggunakan Peta?
m := make(map[string]int) m["Alice"] = 10 m["Bob"] = 20 fmt.Println(m["Alice"]) // 输出: 10
3. Bagaimana untuk menerima bilangan parameter yang berubah-ubah?
func sumAll(numbers ...int) int { total := 0 for _, num := range numbers { total += num } return total } result := sumAll(1, 2, 3, 4, 5) // result = 15
4. Bagaimana membaca dan menulis fail?
f, err := os.Open("test.txt") if err != nil { panic(err) } defer f.Close() _, err = f.Write([]byte("Hello, world!")) if err != nil { panic(err) } b := make([]byte, 10) _, err = f.Read(b) if err != nil { panic(err) } fmt.Println(string(b)) // 输出: "Hello, wo"
5. Bagaimana untuk mencipta dan menggunakan Goroutine?
func concurrentFunc(i int) { fmt.Println(i) } for i := 0; i < 5; i++ { go concurrentFunc(i) } // 同时输出 0、1、2、3、4
Kes praktikal
Andaikan kita ingin mencipta API RESTful mudah yang membolehkan pengguna mengurus tugas.
1. Tentukan struktur tugas:
type Task struct { ID int Name string Desc string }
2 Buat koleksi tugasan:
tasks := make([]Task, 0)
3 5 . Mulakan pelayan HTTP:
func createTask(w http.ResponseWriter, r *http.Request) { var task Task if err := json.NewDecoder(r.Body).Decode(&task); err != nil { http.Error(w, "Invalid JSON", http.StatusBadRequest) return } tasks = append(tasks, task) fmt.Fprint(w, "Task created successfully") }
Atas ialah kandungan terperinci Koleksi soalan novis Golang: Selesaikan masalah biasa dan bergerak ke arah penambahbaikan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!