> 백엔드 개발 > Golang > 본문 없이 Golang 함수를 어떻게 컴파일할 수 있나요?

본문 없이 Golang 함수를 어떻게 컴파일할 수 있나요?

Linda Hamilton
풀어 주다: 2024-12-29 01:30:10
원래의
979명이 탐색했습니다.

How Can a Golang Function Compile Without a Body?

Golang의 몸체 없는 함수

math/floor.go의 소스 코드에는 몸체 없이 Floor라는 함수가 선언되어 있습니다. 코드 조각은 다음과 같습니다.

func Floor(x float64) float64

func floor(x float64) float64 {
    if x == 0 || IsNaN(x) || IsInf(x, 0) {
        return x
    }
    if x < 0 {
        d, fract := Modf(-x)
        if fract != 0.0 {
            d = d + 1
        }
        return -d
    }
    d, _ := Modf(x)
    return d
}
로그인 후 복사

본문이 누락되었음에도 불구하고 Floor 함수는 성공적으로 컴파일됩니다. Go의 기능은 어셈블리와 같이 언어 자체 외부에서 구현될 수 있기 때문입니다. Floor에 대한 어셈블리 구현은 Floor_ARCH.s(예: AMD64)와 같은 파일에서 찾을 수 있습니다.

Go 언어 사양에서는 본문 없이 함수 선언을 허용합니다.

함수 선언은 다음과 같습니다. 본문은 생략하세요. 이러한 선언은 어셈블리 루틴과 같이 Go 외부에서 구현된 함수에 대한 서명을 제공합니다.

위 내용은 본문 없이 Golang 함수를 어떻게 컴파일할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿