스칼라 함수
함수는 함께 작업을 수행하는 명령문 그룹입니다. 코드를 여러 기능으로 나눌 수 있습니다. 코드를 여러 기능으로 나누는 방법은 사용자에게 달려 있지만 논리적으로 구분은 일반적으로 특정 작업을 수행하는 각 기능을 기반으로 합니다.
Scala에는 함수와 메소드가 있으며 둘 사이의 의미적 차이는 매우 작습니다. 스칼라 메소드는 클래스의 일부인 반면, 함수는 변수에 할당할 수 있는 객체입니다. 즉, 클래스에 정의된 함수는 메서드입니다.
함수(인라인 함수) 내에서도 어디에서나 함수를 정의할 수 있습니다. 더 중요한 점은 Scala 함수 이름에 +, ++, ~, &,-, -- , , /, : 등의 특수 문자가 포함될 수 있다는 것입니다.
함수 선언
Scala 함수 선언 형식은
def functionName ([参数列表]) : [return type]
등호와 메서드 본문을 쓰지 않으면 메서드는 다음과 같습니다. 암시적으로 "추상"(추상)"으로 선언된 경우 이를 포함하는 유형도 추상 유형입니다.
함수 정의
메서드 정의는 def 키워드로 시작하고 그 뒤에 선택적 매개변수 목록, 콜론 ":" 및 메서드의 반환 유형인 등호 "="가 옵니다. 마지막으로 메서드의 본문입니다.
Scala 함수 정의 형식은 다음과 같습니다.
def functionName ([参数列表]) : [return type] = { function body return [expr] }
위 코드에서 반환 유형은 유효한 Scala 데이터 유형이면 무엇이든 가능합니다. 매개변수 목록의 매개변수는 쉼표로 구분할 수 있습니다.
다음 함수의 기능은 들어오는 두 매개변수를 더하고 합산하는 것입니다.
object add{ def addInt( a:Int, b:Int ) : Int = { var sum:Int = 0 sum = a + b return sum } }
함수가 값을 반환하지 않으면 단위<🎜로 반환될 수 있습니다. >, 이는 Java의 void와 유사하며 예는 다음과 같습니다.
object Hello{ def printMe( ) : Unit = { println("Hello, Scala!") } }
함수 호출Scala는 다양한 함수 호출 방법을 제공합니다. 🎜>
다음은 메소드 호출의 표준 형식입니다.
functionName( 参数列表 )
함수가 인스턴스 객체를 사용하여 호출하는 경우 Java와 유사한 형식을 사용할 수 있습니다(
을 사용합니다. number): [instance.]functionName( 参数列表 )
위의 예는 함수의 정의와 호출을 보여줍니다.
object Test { def main(args: Array[String]) { println( "Returned Value : " + addInt(5,7) ); } def addInt( a:Int, b:Int ) : Int = { var sum:Int = 0 sum = a + b return sum } }
위 코드를 실행하면 출력 결과는 다음과 같습니다.
$ scalac Test.scala $ scala Test Returned Value : 12
Scala도 마찬가지입니다. 함수형 언어이므로 함수는 Scala 언어의 핵심입니다. 다음 함수 개념은 Scala 프로그래밍을 더 잘 이해하는 데 도움이 됩니다.