logo
Hack - Interview Questions and Answers
How do you declare functions in Hack?
In Hack, you can declare functions using the `function` keyword followed by the function name, parameter list, return type, and the function body. Here's the syntax for declaring functions in Hack:
function functionName(parameter1: Type1, parameter2: Type2): ReturnType {
  // Function body
  // Code statements
  return value; // Optional return statement
}​

Let's break down the components :

* `function`: This keyword is used to declare a function.

* `functionName`: Replace this with the desired name of your function.

* `parameter1`, `parameter2`: These are the function parameters. You can specify multiple parameters by separating them with commas. Each parameter consists of a name followed by a colon (`:`) and the parameter type.

* `Type1`, `Type2`: Replace these with the appropriate types for your parameters.

* `ReturnType`: Specify the type that the function will return. If the function does not return a value, you can use the `void` type.

* `return value;`: This is an optional statement within the function body that returns a value of the specified return type. The `return` statement is only required if your function is expected to return a value.
Here's an example of a function that takes two integers as parameters and returns their sum :
function addNumbers(a: int, b: int): int {
  $sum = $a + $b;
  return $sum;
}​

In the above example, the function `addNumbers` takes two parameters, `a` and `b`, both of type `int`. It calculates their sum and returns the result, which is an `int` value.