Trình Biên Dịch Golang CLI Online

Code Go nhanh chóng với CLI online, chạy và test trực tiếp trong trình duyệt, không cần cài đặt, lý tưởng cho học và debug!

🚀 176,673 tổng số lượt thực thi (649 trong tháng này)

📚 Ai cũng đang học Go – bạn thì sao?

Loading...

💡 Hướng Dẫn Cơ Bản Về Go Cho Người Mới Bắt Đầu

1. Khai Báo Biến và Hằng Số

Sử dụng var hoặc := để khai báo biến. Sử dụng const cho hằng số.

package main

var x int = 10
const Pi = 3.14

func main() {
    name := "Alice"
    isActive := true
    println(x, Pi, name, isActive)
}

2. Câu Điều Kiện (if / switch)

Go hỗ trợ các câu lệnh if-elseswitch với cú pháp rõ ràng.

x := 2
if x == 1 {
    println("One")
} else if x == 2 {
    println("Two")
} else {
    println("Other")
}

switch x {
case 1:
    println("One")
case 2:
    println("Two")
default:
    println("Other")
}

3. Vòng Lặp

Go chỉ sử dụng vòng lặp for, nhưng nó có thể hoạt động như vòng lặp while.

for i := 0; i < 3; i++ {
    println(i)
}

n := 3
for n > 0 {
    println(n)
    n--
}

4. Mảng

Mảng có kích thước cố định. Sử dụng slices cho danh sách động.

var nums = [3]int{10, 20, 30}
println(nums[1])

5. Thao Tác Slice

Sử dụng slices và các hàm tích hợp append, len, copy, và cú pháp slicing.

fruits := []string{"apple", "banana"}
fruits = append(fruits, "cherry")
fruits = fruits[1:]  // slice
println(len(fruits))

for _, fruit := range fruits {
    println(fruit)
}

6. Nhập/Xuất Dữ Liệu Console

Sử dụng fmt.Print, fmt.Scan, và fmt.Println.

import "fmt"

var name string
fmt.Print("Enter your name: ")
fmt.Scan(&name)
fmt.Println("Hello", name)

7. Hàm

Các hàm được khai báo với func và có thể trả về nhiều giá trị.

func greet(name string) string {
    return "Hello, " + name
}

message := greet("Alice")
println(message)

8. Bản Đồ (Maps)

Bản đồ là các kho lưu trữ cặp khóa-giá trị. Khai báo với make().

ages := map[string]int{"Alice": 30}
ages["Bob"] = 25
println(ages["Alice"])

9. Xử Lý Lỗi

Go sử dụng nhiều giá trị trả về cho lỗi thay vì ngoại lệ.

import "errors"

func fail() error {
    return errors.New("something went wrong")
}

err := fail()
if err != nil {
    println(err.Error())
}

10. Nhập/Xuất Tệp

Sử dụng các gói osio/ioutil để đọc/ghi tệp.

import (
  "fmt"
  "os"
  "io/ioutil"
)

ioutil.WriteFile("file.txt", []byte("Hello File"), 0644)

data, _ := ioutil.ReadFile("file.txt")
fmt.Println(string(data))

11. Thao Tác Chuỗi

Sử dụng gói strings cho các thao tác chuỗi.

import "strings"

text := "  Hello World  "
println(strings.TrimSpace(text))
println(strings.ToUpper(text))
println(strings.ReplaceAll(text, "Hello", "Hi"))

words := strings.Split(text, " ")
fmt.Println(words)

12. Cấu Trúc & Đối Tượng

Sử dụng cấu trúc để định nghĩa các kiểu tùy chỉnh với các phương thức.

type Person struct {
  Name string
}

func (p Person) Greet() string {
  return "Hi, I'm " + p.Name
}

p := Person{Name: "Alice"}
println(p.Greet())

13. Tham Chiếu (Con Trỏ)

Go hỗ trợ con trỏ sử dụng *&.

x := 10
ptr := &x
*ptr = 20
println(x) // 20