Golang은 Google에서 개발한 정적 타입 언어입니다. C와 유사한 문법을 가지고 있어 배우기 쉽습니다. Golang은 안정적이며 빠른 속도를 자랑합니다. 이번 글에서는 Golang의 기본 문법에 대해 다뤄보겠습니다.
Golang 파일은 패키지 선언으로 시작합니다. "package 패키지명"으로 선언하며, 해당 파일에 대한 패키지 이름을 지정합니다. 예를 들어, main 함수가 있는 파일은 "package main"으로 시작합니다.
package main
import "fmt"
func main() {
fmt.Println("Hello, world!")
}
Golang에서 다른 패키지의 함수나 변수를 사용하기 위해서는 import문을 사용하여 해당 패키지를 가져와야 합니다. "import 패키지명"의 형태로 선언하며, 여러 개의 패키지를 import할 때는 괄호를 사용합니다.
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.Sqrt(16))
}
함수는 "func" 키워드를 사용하여 선언합니다. 함수 이름 뒤에는 매개변수 리스트가 위치하며, 반환값이 있는 경우 "func 함수명(매개변수) 반환타입"으로 선언합니다. 반환값이 없는 경우 "func 함수명(매개변수)"로 선언합니다.
package main
import "fmt"
func add(x int, y int) int {
return x + y
}
func main() {
fmt.Println(add(5, 10))
}
변수는 "var" 키워드를 사용하여 선언합니다. 변수 이름 뒤에는 타입이 위치하며, 변수에 값을 할당할 때는 "="을 사용합니다.
package main
import "fmt"
func main() {
var x int = 5
var y int = 10
var sum int = x + y
fmt.Println(sum)
}
조건문은 "if" 키워드를 사용하여 선언합니다. 조건식은 괄호 안에 위치하며, 중괄호를 사용하여 조건문의 내용을 감싸줍니다. 반복문은 "for" 키워드를 사용하여 선언합니다. "for 조건식"의 형태로 사용되며, 반복 횟수를 제어하는 변수를 사용할 수 있습니다.
package main
import "fmt"
func main() {
for i := 1; i <= 10; i++ {
if i%2 == 0 {
fmt.Println(i, "는 짝수입니다.")
} else {
fmt.Println(i, "는 홀수입니다.")
}
}
}
배열은 고정된 크기의 요소들로 구성된 리스트입니다. "var 배열명 [크기] 타입"으로 선언합니다. 배열의 각 요소에 접근하려면 인덱스를 사용합니다.
package main
import "fmt"
func main() {
var arr [5]int
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 4
arr[4] = 5
fmt.Println(arr)
}
슬라이스는 동적인 크기의 요소들로 구성된 리스트입니다. "var 슬라이스명 []타입"으로 선언합니다. 슬라이스는 배열과 달리 크기를 지정하지 않습니다.
package main
import "fmt"
func main() {
slice := []int{1, 2, 3, 4, 5}
fmt.Println(slice)
}
구조체는 여러 개의 필드를 가진 데이터 타입입니다. "type 구조체명 struct { 필드1 타입1; 필드2 타입2 }"으로 선언합니다. 각 필드에 접근하려면 "."을 사용합니다.
package main
import "fmt"
type Person struct {
name string
age int
}
func main() {
person := Person{name: "Alice", age: 20}
fmt.Println(person.name, person.age)
}
포인터는 메모리 주소를 저장하는 변수입니다. "&변수명"으로 변수의 주소를 얻어올 수 있으며, "*"로 포인터가 가리키는 값을 참조할 수 있습니다.
package main
import "fmt"
func main() {
x := 10
ptr := &x
fmt.Println(*ptr)
}
Golang은 C와 유사한 문법을 가지고 있으며, 안정적이고 빠른 속도를 자랑합니다. 이를 바탕으로 Golang은 최근에는 쿠버네티스 및 대용량 시스템에서 빠른 처리 속도가 필요한 분야에서 많이 사용되고 있습니다. 이번 글에서는 Golang의 기본 문법에 대해 다뤄보았으며, 이를 바탕으로 여러분들도 Golang을 배우고 응용할 수 있기를 바랍니다.