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!

🚀 194,995 tổng số lượt thực thi (581 trong tháng này)

Udemy Logo ✨ Khóa học Go được nhiều người yêu thích

Loading...

🐹 Giới thiệu về Trình thực thi Go trực tuyến này

CodeUtility Go Executor cho phép bạn viết và chạy mã Go trực tiếp trên trình duyệt - không cần cài đặt, thiết lập hay môi trường cục bộ. Công cụ chạy trong sandbox an toàn, hỗ trợ các phiên bản trình biên dịch Go thật 1.19, 1.20, và 1.21.

Công cụ này biên dịch và thực thi các chương trình Go thật trên đám mây, mang đến một môi trường Go đúng nghĩa. Bạn có thể thử các đoạn mã ngắn, thử nghiệm với package, và khám phá khả năng đồng thời mạnh mẽ của Go với goroutine và channel.

Rất phù hợp để học và luyện tập các khái niệm cốt lõi của Go như biến, hàm, struct, slice, map, interface và xử lý lỗi - tất cả mà không cần cài đặt công cụ nào trên máy.

Dù bạn mới tìm hiểu Go, đang kiểm thử logic backend, hay học cách hoạt động của đồng thời, CodeUtility Go Executor mang đến cách chạy mã Go tức thì, nhanh, gọn, ngay trên trình duyệt.

⚙️ Cách sử dụng công cụ này

  • 1. Chọn phiên bản Go (1.19, 1.20, hoặc 1.21) từ menu thả xuống ở phía trên trình soạn thảo.
  • 2. Viết hoặc dán mã Go của bạn vào khu vực trình soạn thảo.
  • 3. Nhấn Chạy để biên dịch và thực thi chương trình - kết quả sẽ hiển thị ở bảng điều khiển (console) bên dưới.
  • 4. Khi đang chạy, sẽ xuất hiện nút Dừng - nhấn để dừng sớm việc thực thi.
  • 5. Dùng Sửa mã để tự động sửa các lỗi định dạng hoặc cú pháp nhỏ.
  • 6. Sau khi sửa, sẽ có nút Các bản sửa - nhấn để xem lại các sửa đổi gần đây.
  • 7. Dùng nút Tải lên để nhập mã từ tệp cục bộ, hoặc nút Tải xuống để lưu mã hiện tại từ trình soạn thảo.
  • 8. Mỗi lần thực thi chạy tối đa 20 giây trước khi tự động kết thúc.

🧠 Mẹo: Môi trường này chạy mã Go thật một cách an toàn ngay trong trình duyệt - không cần đăng nhập hay thiết lập cục bộ.

💡 Kiến thức cơ bản về Go & ví dụ bạn có thể thử ở trên

1. Khai báo biến và hằng số

Dùng var hoặc := để khai báo biến. 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 trúc điều kiện (if / switch)

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

x := 2
if x == 1 {
    println("Một")
} else if x == 2 {
    println("Hai")
} else {
    println("Khác")
}

switch x {
case 1:
    println("Một")
case 2:
    println("Hai")
default:
    println("Khác")
}

3. Vòng lặp

Go chỉ có vòng lặp for, nhưng 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. Dùng slice cho danh sách động.

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

5. Thao tác với slice

Dùng slice và các hàm dựng sẵn append, len, copy, cùng cú pháp cắt lát.

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 trên console

Dùng fmt.Print, fmt.Scan, và fmt.Println.

import "fmt"

var name string
fmt.Print("Nhập tên của bạn: ")
fmt.Scan(&name)
fmt.Println("Xin chào", name)

7. Hàm

Khai báo hàm với func và có thể trả về nhiều giá trị.

func greet(name string) string {
    return "Xin chào, " + name
}

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

8. Map

Map là kho lưu trữ theo cặp khóa-giá trị. Khởi tạo với make().

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

9. Xử lý lỗi

Go dùng nhiều giá trị trả về để truyền lỗi thay vì ngoại lệ.

import "errors"

func fail() error {
    return errors.New("đã có sự cố")
}

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

10. I/O tệp

Dùng các package osio/ioutil để đọc/ghi tệp.

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

ioutil.WriteFile("file.txt", []byte("Xin chào tệp"), 0644)

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

11. Xử lý chuỗi

Dùng package strings cho các thao tác với 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. Struct & Đối tượng

Dùng struct để định nghĩa kiểu tùy chỉnh cùng các phương thức.

type Person struct {
  Name string
}

func (p Person) Greet() string {
  return "Xin chào, tôi là " + p.Name
}

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

13. Tham chiếu (Con trỏ)

Go hỗ trợ con trỏ với *&.

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