온라인 Golang 컴파일러 - Go 코드 즉시 실행 및 테스트
무료 온라인 Go 컴파일러로 브라우저에서 Golang 코드를 작성, 컴파일, 실행하세요. 학습, 빠른 테스트, 인터뷰 연습에 완벽하며, 설치나 설정이 필요 없습니다.
💡 초보자를 위한 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. 배열
배열은 고정 크기를 가집니다. 동적 리스트는 슬라이스를 사용하세요.
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("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. 맵
맵은 키-값 저장소입니다. 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. 참조 (포인터)
Go는 *
와 &
를 사용하여 포인터를 지원합니다.
x := 10
ptr := &x
*ptr = 20
println(x) // 20