본문 바로가기
카테고리 없음

[golang] - import 키워드

by CHML 2016. 2. 22.

  Go 언어에서는 개발에 필요한 수학 연산, 입출력 등의 기능과 각종 라이브러리를 패키지의 형태로 제공한다. 이러한 패키지를 프로그램 개발에 이용하기 위해서는 C/C++ 에서와 같이 import 키워드를 이용한다. import 키워드는 import "패키지 이름" 형태로 이용한다. 아래의 소스 코드는 입출력 패키지인 fmt를 이용하여 "Hello World!"를 출력하는 Go 언어 소스 코드이다.


package main

import "fmt"

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


  Go 언어에서는 fmt 패키지 이외에도 math, zip, json 등의 다양한 패키지를 제공하고 있으며, Go 언어에서 제공하는 패키지 목록과 구현 사항은 이 문서에 정리되어 있다. 아래의 소스 코드는 fmt, math 패키지를 이용하여 -10의 절댓값을 출력하는 소스 코드이다. Go 언어에서는 패키지마다 import 키워드를 이용하여 선언하는 것이 아니라, 아래의 소스와 같이 import 키워드와 소괄호를 이용하여 한번에 패키지를 import 할 수 있다.


package main

import (
	"fmt"
	"math"
)

func main() {
	fmt.Println(math.Abs(-10))
}


  또한, Go 언어에서는 패키지 이름에 별칭을 부여하여 소스 코드에서 이용할 수 있다. 아래의 소스와 같이 fmt 패키지를 f, math 패키지를 m으로 별칭을 붙여 이용할 수 있다.


package main

import (
	f "fmt"
	m "math"
)

func main() {
	f.Println(m.Abs(-10))
}


  기존의 C/C++, Java 등의 언어와 Go 언어의 또 다른 차이점은 사용되지 않는 패키지가 있으면 컴파일 에러가 출력된다는 점이다. 아래의 소스 코드에서는 math 패키지가 import 되었지만, 소스 코드 상에서 이용되는 곳이 없기 때문에 컴파일 에러가 출력된다.


package main

import (
	"fmt"
	"math"
)

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


아래의 사진은 import된 math 패키지가 사용된 곳이 없기 때문에 컴파일 에러가 발생하는 모습이다.