- ตัวดำเนินการ
-
เรียนรู้
ศูนย์การเรียนรู้ Python ตัวอย่างที่รันได้, NumPy, pandas และอื่น ๆ ศูนย์การเรียนรู้ C และ C++ พอยน์เตอร์ หน่วยความจำ STL และ C++ สมัยใหม่ ศูนย์การเรียนรู้ C#พื้นฐาน C#, OOP, LINQ, async และแบบฝึกหัด .NET อัลกอริทึม Python การค้นหา การเรียงลำดับ รีเคอร์ชัน และภาพจำลอง O(n) อัลกอริทึม C และ C++ เปรียบเทียบการเขียนด้วย C และ C++
Online Go Compiler
Write, compile, run, and debug Go code online in a full-featured browser IDE. Work with multiple files, save your workspace, and collaborate in real time—no setup required.
🚀 204,185 การดำเนินการทั้งหมด (122 ในเดือนนี้)
💡 พัฒนาทักษะของคุณด้วยการเรียน Go
กำลังโหลด...
💡 กำลังมองหาการพัฒนาทักษะของคุณหรือไม่? หลักสูตรเหล่านี้อาจช่วยได้ ลองดูในขณะที่โมเดล AI ของเราประมวลผลคำขอของคุณ
🐹 เกี่ยวกับตัวรัน Go ออนไลน์นี้
CodeUtility Go Executor ให้คุณเขียนและรันโค้ด Go ได้โดยตรงในเบราว์เซอร์ - ไม่ต้องติดตั้ง ตั้งค่า หรือมีสภาพแวดล้อมโลคัลใดๆ ใช้งานบนแซนด์บ็อกซ์ที่ปลอดภัยและรองรับ คอมไพเลอร์ Go เวอร์ชันจริง 1.19, 1.20 และ 1.21
เครื่องมือนี้คอมไพล์และรันโปรแกรม Go จริงบนคลาวด์ ให้สภาพแวดล้อม Go ที่แท้จริง คุณสามารถทดสอบโค้ดสั้นๆ ทดลองกับแพ็กเกจ และสำรวจความสามารถด้าน concurrency อันทรงพลังของ Go ด้วย goroutine และ channel
เหมาะอย่างยิ่งสำหรับการเรียนรู้และฝึกแนวคิดหลักของ Go เช่น ตัวแปร ฟังก์ชัน สตรักต์ สไลซ์ แมป อินเทอร์เฟซ และการจัดการข้อผิดพลาด - ทั้งหมดนี้โดยไม่ต้องติดตั้งเครื่องมือใดๆ บนเครื่อง
ไม่ว่าคุณจะเริ่มต้นกับ Go เป็นครั้งแรก กำลังทดสอบตรรกะแบ็กเอนด์ หรือเรียนรู้การทำงานของ concurrency CodeUtility Go Executor มอบวิธีการรันโค้ด 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("หนึ่ง")
} else if x == 2 {
println("สอง")
} else {
println("อื่น")
}
switch x {
case 1:
println("หนึ่ง")
case 2:
println("สอง")
default:
println("อื่น")
}
3. ลูป
Go มีลูปแบบเดียวคือ for แต่สามารถใช้แทนลูป while ได้
for i := 0; i < 3; i++ {
println(i)
}
n := 3
for n > 0 {
println(n)
n--
}
4. อาร์เรย์
อาร์เรย์มีขนาดตายตัว ใช้สไลซ์สำหรับรายการที่ปรับขนาดได้
var nums = [3]int{10, 20, 30}
println(nums[1])
5. การจัดการสไลซ์
ใช้สไลซ์และฟังก์ชันในตัว append, len, copy และไวยากรณ์การตัดสไลซ์
fruits := []string{"apple", "banana"}
fruits = append(fruits, "cherry")
fruits = fruits[1:] // สไลซ์
println(len(fruits))
for _, fruit := range fruits {
println(fruit)
}
6. การรับส่งข้อมูลทางคอนโซล
ใช้ fmt.Print, fmt.Scan และ fmt.Println
import "fmt"
var name string
fmt.Print("กรุณากรอกชื่อของคุณ: ")
fmt.Scan(&name)
fmt.Println("สวัสดี", name)
7. ฟังก์ชัน
ประกาศฟังก์ชันด้วย func และสามารถคืนค่าหลายค่าได้
func greet(name string) string {
return "สวัสดี, " + name
}
message := greet("Alice")
println(message)
8. แมป
แมปเป็นโครงสร้างเก็บคู่คีย์-ค่า ประกาศด้วย make().
ages := map[string]int{"Alice": 30}
ages["Bob"] = 25
println(ages["Alice"])
9. การจัดการข้อผิดพลาด
Go ใช้การคืนค่าหลายค่าเพื่อส่งข้อผิดพลาด แทนการใช้ข้อยกเว้น
import "errors"
func fail() error {
return errors.New("เกิดข้อผิดพลาดบางอย่าง")
}
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 "สวัสดี ฉันชื่อ " + p.Name
}
p := Person{Name: "Alice"}
println(p.Greet())
13. การอ้างอิง (พอยน์เตอร์)
Go รองรับพอยน์เตอร์โดยใช้ * และ &.
x := 10
ptr := &x
*ptr = 20
println(x) // 20