คอมไพเลอร์ Golang ออนไลน์ - รันและทดสอบโค้ด Go ได้ทันที
เขียน คอมไพล์ และรันโค้ด Golang ได้ทันทีในเบราว์เซอร์ของคุณด้วยคอมไพเลอร์ Go ออนไลน์ฟรีของเรา เหมาะสำหรับการเรียนรู้ การทดสอบอย่างรวดเร็ว และการฝึกสัมภาษณ์ — ไม่ต้องตั้งค่าหรือดาวน์โหลดใดๆ
💡 คู่มือพื้นฐาน Go สำหรับผู้เริ่มต้น
1. การประกาศตัวแปรและค่าคงที่
ใช้ var
หรือ :=
เพื่อประกาศตัวแปร ใช้ const
สำหรับค่าคงที่
package main
var x int = 10
const Pi = 3.14
func main() {
name := "Alice"
isActive := true
println(x, Pi, name, isActive)
}
2. เงื่อนไข (if / switch)
Go รองรับคำสั่ง if-else
และ switch
ด้วยไวยากรณ์ที่สะอาด
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. ลูป
Go ใช้ลูป for
เพียงอย่างเดียว แต่สามารถทำงานเหมือนลูป while ได้
for i := 0; i < 3; i++ {
println(i)
}
n := 3
for n > 0 {
println(n)
n--
}
4. อาเรย์
อาเรย์มีขนาดคงที่ ใช้ slices สำหรับรายการที่มีขนาดเปลี่ยนแปลงได้
var nums = [3]int{10, 20, 30}
println(nums[1])
5. การจัดการ Slice
ใช้ slices และฟังก์ชันในตัว append
, len
, copy
และไวยากรณ์การตัด
fruits := []string{"apple", "banana"}
fruits = append(fruits, "cherry")
fruits = fruits[1:] // slice
println(len(fruits))
for _, fruit := range fruits {
println(fruit)
}
6. การรับ/ส่งข้อมูลทางคอนโซล
ใช้ fmt.Print
, fmt.Scan
, และ fmt.Println
import "fmt"
var name string
fmt.Print("Enter your name: ")
fmt.Scan(&name)
fmt.Println("Hello", name)
Go Basics Guide
7. ฟังก์ชัน
ฟังก์ชันถูกประกาศด้วย func
และสามารถคืนค่าหลายค่าได้
func greet(name string) string {
return "Hello, " + name
}
message := greet("Alice")
println(message)
8. แผนที่ (Maps)
แผนที่เป็นการเก็บข้อมูลแบบคู่คีย์-ค่า ประกาศด้วย make()
ages := map[string]int{"Alice": 30}
ages["Bob"] = 25
println(ages["Alice"])
9. การจัดการข้อผิดพลาด
Go ใช้การคืนค่าหลายค่าเพื่อจัดการข้อผิดพลาดแทนการใช้ข้อยกเว้น
import "errors"
func fail() error {
return errors.New("something went wrong")
}
err := fail()
if err != nil {
println(err.Error())
}
10. การรับ/ส่งข้อมูลไฟล์
ใช้แพ็กเกจ os
และ io/ioutil
เพื่ออ่าน/เขียนไฟล์
import (
"fmt"
"os"
"io/ioutil"
)
ioutil.WriteFile("file.txt", []byte("Hello File"), 0644)
data, _ := ioutil.ReadFile("file.txt")
fmt.Println(string(data))
11. การจัดการสตริง
ใช้แพ็กเกจ strings
สำหรับการดำเนินการกับสตริง
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. โครงสร้างและออบเจ็กต์
ใช้โครงสร้างเพื่อกำหนดประเภทที่กำหนดเองพร้อมเมธอด
type Person struct {
Name string
}
func (p Person) Greet() string {
return "Hi, I'm " + p.Name
}
p := Person{Name: "Alice"}
println(p.Greet())
13. การอ้างอิง (Pointers)
Go รองรับการใช้งาน pointers ด้วย *
และ &
x := 10
ptr := &x
*ptr = 20
println(x) // 20