250x250
반응형
관리 메뉴

Allen's 데이터 맛집

[1] Go 언어의 기본 문법과 예제 본문

Programming/GoLang

[1] Go 언어의 기본 문법과 예제

Allen93 2025. 1. 30. 15:16

1️⃣ Go 언어 기본 문법

Go 언어의 주요 문법을 간략히 정리했습니다.

(1) 변수 선언과 초기화

Go는 var 키워드를 사용하여 변수를 선언하거나, :=를 사용해 축약형으로 선언할 수 있습니다.

package main
import "fmt"

func main() {
    var message string = "Hello, Go!"
    number := 42
    fmt.Println(message, number)
}

(2) 조건문과 반복문

package main

func main() {
    num := 10
    if num%2 == 0 {
        println("Even")
    } else {
        println("Odd")
    }

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

(3) 함수

함수는 Go의 기본 단위입니다.

package main

func add(a int, b int) int {
    return a + b
}

func main() {
    println(add(3, 4)) // 출력: 7
}

2️⃣ 병렬 프로그래밍: 고루틴과 채널

Go의 병렬 프로그래밍은 고루틴(Goroutines)과 채널(Channels)을 통해 구현됩니다.

(1) 고루틴

고루틴은 Go의 경량 스레드로, go 키워드를 사용해 실행됩니다.

package main

import (
    "fmt"
    "time"
)

func sayHello() {
    for i := 0; i < 5; i++ {
        fmt.Println("Hello!")
        time.Sleep(100 * time.Millisecond)
    }
}

func main() {
    go sayHello() // 고루틴 실행
    fmt.Println("This runs concurrently!")
    time.Sleep(1 * time.Second)
}

(2) 채널

채널은 고루틴 간 데이터를 안전하게 전달하는 방법을 제공합니다.

package main

import "fmt"

func producer(ch chan int) {
    for i := 0; i < 5; i++ {
        ch <- i
    }
    close(ch)
}

func main() {
    ch := make(chan int)
    go producer(ch)

    for value := range ch {
        fmt.Println(value)
    }
}
728x90