English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 기본 튜토리얼

Golang 제어문

Golang 함수 & 메서드

Golang 구조체

Golang 슬라이스 & 배열

Golang 문자열(String)

Golang 포인터

Golang 인터페이스

Golang 동기

Golang 예외(Error)

Golang 다른Miscellaneous

Go main과 init 함수

Go 언어는 두 개의 특수 용도의 함수를 유지하고 있습니다. 이 함수는main()그리고init()함수.

main 함수

Go 언어에서는main패키지는 특별한 소프트웨어 패키지로, 실행 가능 프로그램과 함께 사용되며, 이 패키지는main()함수.main()함수는 특수한 유형의 함수로, 실행 가능 프로그램의 진입점입니다. 매개변수가 없으며 어떤 것이든 반환하지 않습니다. 자동으로 호출될 수 있기 때문에main()함수를 포함해야 하며, 따라서 명시적으로 호출할 필요가 없습니다.main()함수를 포함해야 하며, 각 실행 가능 프로그램은 package main과main()함수.

//메인 패키지 선언
package main
//패키지 가져오기
import (
    "fmt"
    "sort"
    "strings"
    "time"
)
func main() {
    //스ライ스 정렬
    s := []int{345, 78, 123, 10, 76, 2, 567, 5}
    sort.Ints(s)
    fmt.Println("정렬된 슬라이스: ", s)
    // 인덱스 값 찾기
    fmt.Println("인덱스 값: ", strings.Index("w3codebox, "ks"
    //현재 시간 표시
    fmt.Println("시간 표시: ", time.Now().Unix())
}

출력:

정렬된 슬라이스: [2 5 10 76 78 123 345 567]
인덱스 값:  -1
시간 표시:  1593335332

init() 함수

init() 함수는 메인 함수와 마찬가지로 매개변수가 없으며 어떤 것이든 반환하지 않습니다. 각 패키지에 이 함수가 존재하며, 패키지를 초기화할 때 이 함수가 호출됩니다. 이 함수는 기본적으로 선언되었기 때문에 어디서도 참조할 수 없으며, 같은 프로그램에서 여러 개의 init() 함수를 생성할 수 있으며, 그들은 생성 순서대로 실행됩니다. 프로그램의 어느 위치에서든 init() 함수를 생성할 수 있으며, 그들은 단어 파일 이름 순서(알파벳 순서)로 호출됩니다. init() 함수에서 문장을 배치할 수 있지만, 항상 메인() 함수 호출 전에 init() 함수를 실행해야 하므로 메인() 함수에 의존하지 않습니다.   init() 함수의 주요 목적은 전체적인 컨텍스트에서 초기화할 수 없는 전역 변수를 초기화하는 것입니다.

package main 
  
import "fmt"
  
//여러 init() 함수 
func init() { 
    fmt.Println("웰컴 투 init() 함수") 
} 
  
func init() { 
    fmt.Println("헬로! init() 함수") 
} 
  
func main() { 
    fmt.Println("웰컴 투 메인() 함수") 
}

출력:

웰컴 투 init() 함수
헬로! init() 함수
웰컴 투 메인() 함수