함수 사용하기

이재홍 http://www.pyrasis.com 2014.12.17 ~ 2015.02.07

Go 언어로 간단하게 함수를 정의하고 호출해보겠습니다.

  • func 함수명() { }
package main

import "fmt"

func hello() { // hello 함수 정의
	fmt.Println("Hello, world!")
}

func main() {
	hello()
}

Go 언어는 함수 정의를 시작한 줄에서 { (여는 중괄호)가 시작됩니다. 여는 중괄호를 다음 줄에 작성하면 컴파일 에러가 발생합니다.

package main

import "fmt"

func hello()
{ // 컴파일 에러
	fmt.Println("Hello, world!")
}

func main() {
	hello()
}

Go 언어는 함수를 정의할 때 위치 제약이 없습니다. C, C++에서는 함수를 호출할 때 해당 함수의 선언이나 정의가 앞에 있어야만 호출할 수 있었습니다.

C 언어

#include <stdio.h>

int main()
{
	hello(); // 함수를 찾을 수 없어서 컴파일 에러
}

void hello() // 함수 선언이 뒤에 있으면 안 됨
{
	printf("Hello, world!");
}

이렇게 hello 함수 정의가 뒤에 있으면 main 함수는 hello 함수를 찾을 수 없기 때문에 컴파일 에러가 발생합니다.

Go 언어는 함수 정의가 어디에 있든 상관없이 함수를 호출할 수 있습니다. 다음과 같이 hello 함수가 main 함수보다 뒤에 있어도 컴파일 에러가 발생하지 않습니다.

package main

import "fmt"

func main() {
	hello() // 컴파일 잘 됨
}

func hello() { // 함수 선언 위치는 중요하지 않음
	fmt.Println("Hello, world!")
}

실행 결과

Hello, world!

저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

01 June 2015