1. Packages

: 모든 프로그램은 패키지로 구성된다. 프로그램의 첫 시작은 main package의 main함수이다.

1.1 package namming rule

: 패키지 이름은 디렉토리 경로의 마지막 이름을 사용하는 것이 규칙입니다. 예를 들어 "path/filepath" 를 사용한다면 패키지명은 filepath 이다.

1.2 import

: go에서는 여러가지의 패키지를 소괄호로 묶어서 import를 한다. 하지만, 하나씩 나누어서도 사용가능 합니다.

import (
    "fmt"
    "math"
)
import "fmt"
import "math"

1.2.2 Exported names

: 외부에서 접근 가능한 자원의 첫문자는 대문자로 시작한다. 예를 들어 Foo과 FOO은 외부에서 접근 가능한 자원이지만, foo은 외부에서 접근 할수 없다.

* 질문 : 그렇다면 상수는 어떻게 public 과 private를 구분하지?

1.3. package init함수와 alias

개발자가 패키지를 작성할 때, 패키지 실행시 처음으로 호출되는 init()함수를 작성할 수 있다. 즉, init 함수는 패키지가 로드되면서 실행되는 함수로 별도의 호출 없이 자동으로 호출된다.

package testlib 
var pop map[string]string
func init(){ // 패키지 로드시 map 초기화 
    pop = make(map[string]string)
}

경우에 따라 패키지를 import 하면서 단지 그 패키지 안의 init()함수만을 호출하고자 하는 케이스가 있다. 이런 경우는 패키지 import 시 _라는 alias를 지정한다. 아래는 other/xlib패키지를 호출하면서 _alias를 지정한 예이다.

results matching ""

    No results matching ""