Функції
fn gcd(a: u32, b: u32) -> u32 { if b > 0 { gcd(b, a % b) } else { a } } fn main() { println!("gcd: {}", gcd(143, 52)); }
This slide should take about 3 minutes. 
                    - Параметри оголошення супроводжуються типом (у зворотному порядку порівняно з деякими мовами програмування), а потім типом повернення.
 - Останній вираз у тілі функції (або будь-якого блоку) стає значенням, що повертається. Просто опустіть 
;в кінці виразу. Ключове словоreturnможна використовувати для дострокового повернення, але форма “голого значення” є ідіоматичною у кінці функції (рефакторgcdщоб використовуватиreturn). - Деякі функції не мають значення, що повертається, і повертають ‘тип агрегату’, 
(). Компілятор визначить це, якщо тип повернення пропущено. - Перевантаження не підтримується - кожна функція має єдину реалізацію.
- Завжди приймає фіксовану кількість параметрів. Аргументи за замовчуванням не підтримуються. Для підтримки варіаційних функцій можна використовувати макроси.
 - Завжди приймає єдиний набір типів параметрів. Ці типи можуть бути загальними, що буде розглянуто пізніше.