인라인함수 (2) 썸네일형 리스트형 코틀린 - 함수 함수 선언코틀린의 함수는 fun 키워드를 사용하여 선언됩니다 .fun double(x: Int): Int { return 2*x } 함수 사용법함수 호출은 전통적인 방식을 사용합니다.val result = double(2) 멤버 함수를 호출하면 점 표기법이 사용됩니다.Sample().foo() // Sample 클래스의 인스턴스를 생성하고 foo호출 파라미터함수 매개 변수는 파스칼 표기법, 즉 name : type을 사용하여 정의됩니다 . 매개 변수는 쉼표로 구분됩니다. 각 매개 변수는 명시 적으로 입력해야합니다.fun powerOf(number: Int, exponent: Int) { ... } 기본 인수함수 매개 변수는 기본값을 가질 수 있으며 해당 인수가 생략 될 때 사용됩니다. 이렇게하면 다른 언.. 코틀린 - 인라인 함수 고차 함수를 사용하면 특정 런타임 패널티가 부과됩니다. 각 함수는 객체이며 클로저, 즉 함수 본문에서 액세스되는 변수를 캡처합니다. 메모리 할당 (함수 객체와 클래스 용)과 가상 호출은 런타임 오버 헤드를 초래합니다.그러나 많은 경우에 이런 종류의 오버 헤드는 람다식을 인라인함으로써 제거 될 수 있습니다. 아래에 표시된 함수는이 상황의 좋은 예입니다. 즉,이 lock()기능은 전화 사이트에서 쉽게 인라인 될 수 있습니다. 다음과 같은 경우를 고려하십시오.lock(l) { foo() } 매개 변수에 대한 함수 객체를 만들고 호출을 생성하는 대신 컴파일러에서 다음 코드를 생성 할 수 있습니다.l.lock() try { foo() } finally { l.unlock() } 우리가 처음부터 원한 것이 아닌가?.. 이전 1 다음