[go] 함수 데이터 타입

Go 언어는 함수형 프로그래밍을 지원하고, 강력한 타입 시스템을 가지고 있습니다. 함수와 데이터 타입은 Go 언어의 핵심적인 요소이며, 이러한 요소들을 함께 사용하여 유연하고 안정적인 코드를 작성할 수 있습니다. 이번 포스트에서는 Go 언어에서의 함수와 데이터 타입에 대해 알아보겠습니다.

함수

Go 언어에서 함수는 func 키워드를 사용하여 정의됩니다. 아래는 간단한 함수의 예시입니다.

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

위 예시에서 add 함수는 두 개의 정수형 매개변수를 받고, 정수형 값을 반환합니다.

함수는 일급 시민(first-class citizen)이기 때문에 변수에 할당하거나 다른 함수에 매개변수로 전달할 수 있습니다.

func sayHello() {
    fmt.Println("Hello, World!")
}

func main() {
    hello := sayHello
    hello()
}

위의 예시에서 sayHello 함수를 hello 변수에 할당하고, 이를 호출하여 “Hello, World!”를 출력합니다.

데이터 타입

Go 언어는 정적 타입 언어로, 변수의 데이터 타입은 컴파일 시점에 결정됩니다. 기본 데이터 타입으로는 정수형, 부동소수점 숫자, 불리언, 문자열 등을 지원하며, 사용자 정의 데이터 타입도 지원합니다.

type Person struct {
    Name string
    Age  int
}

func main() {
    var p Person
    p.Name = "Alice"
    p.Age = 30
    fmt.Println(p)
}

위의 예시에서 Person이라는 구조체 데이터 타입을 정의하고, 해당 데이터 타입을 가지는 p 변수를 선언하고 초기화합니다.

또한, Go 언어는 인터페이스를 통해 다형성을 지원하므로, 유연하고 재사용 가능한 코드를 작성할 수 있습니다.

이상으로 Go 언어에서의 함수와 데이터 타입에 대한 간단한 소개를 마치겠습니다. Go 언어의 강력한 함수형 프로그래밍 지원과 다양한 데이터 타입은 개발자가 안정적이고 효율적인 소프트웨어를 개발하는 데 큰 도움이 됩니다.

더 자세한 내용은 공식 Go 언어 문서를 참고하시기 바랍니다.