728x90
반응형
프로젝트 하면서 배우게 된 사항들은 까먹지 않고 다시 정리하는 습관을 들이려한다.
첫번째.
init() 함수
- main을 호출함과 동시에 무조건 호출되는 함수
main에서 따로 선언하지 않아도 알아서 호출된다.
func init() {
fmt.Println("init func called..")
}
func main() {
fmt.Println("main func called..")
}
분명 main에서 따로 호출하지 않았지만 실행되는 동시에 함수가 호출된 것을 볼 수 있다.
그럼 이 함수를 어디에 사용하는가.
내가 하고 있는 프로젝트에서는 config파일 읽어올때 주로 쓴다.
func init() {
if len(os.Args) == 2 {
configFile = os.Args[1]
} else {
if filename, err := config.GetEnvConfigFile(EnvConfig, ServiceConfig); err != nil {
panic("config file is not found")
} else {
configFile = filename
}
}
}
다음 포스팅에서 쓰겠지만 이런식으로 main 실행전 config 파일을 불러올때 사용한다.
728x90
반응형
'Golang > etc' 카테고리의 다른 글
tcp/ip -02,03 (0) | 2022.06.27 |
---|---|
tcp/ip - 01 (0) | 2022.06.22 |
Golang Apple Login (애플 로그인) (0) | 2022.06.14 |
Apple 로그인 JWT, JWK (1) | 2022.06.14 |
golang .env 파일 환경변수 셋팅 (0) | 2022.04.13 |