인공지능 개발자 수다(유튜브 바로가기) 자세히보기

flutter

[flutter] dart 언어 - 함수 (4)

Suda_777 2025. 2. 22. 23:19

목차

    반응형

    1. 함수 사용법

    기본적인 함수 선언

    // 반환값이 없음, input 없음
    void greet() {
      print("Hello, Dart!");
    }
    
    void main() {
      greet(); // 함수 호출
    }

     

    반환값 정의: return 에 반환값 정의, 함수 이름 앞에 반환값의 자료형 정의

    input값 정의 : 자료형 변수명 형식

    int add(int a, int b) {
      return a + b;
    }
    
    void main() {
      int sum = add(3, 5);
      print("Sum: $sum"); // 출력: Sum: 8
    }

     

    선택적 매개변수 : []

    • [] 안에 있는 매개변수는 필수가 아님
    • 기본값이 없으면 null이 들어갈 수도 있음
    void greet([String name = "Guest"]) {
      print("Hello, $name!");
    }
    
    void main() {
      greet(); // 출력: Hello, Guest!
      greet("Alice"); // 출력: Hello, Alice!
    }

     

    사용한 명명된 선택적 매개변수 : {}

    • 함수 선언시, 변수명을 값과 함께 넣어줌
    void introduce({String name = "Unknown", int age = 0}) {
      print("My name is $name and I am $age years old.");
    }
    
    void main() {
      introduce(); // 출력: My name is Unknown and I am 0 years old.
      introduce(name: "Alice", age: 25); // 출력: My name is Alice and I am 25 years old.
    }

     

    필수 매개변수 : required 자료형 변수명

    void register({required String email, required String password}) {
      print("Registered with $email");
    }
    
    void main() {
      register(email: "alice@example.com", password: "securePass123");
    }

     


    2. Arrow 함수

    함수의 내용을 => 를 이용해 만들어줌

    int multiply(int a, int b) => a * b;
    
    void main() {
      print(multiply(3, 4)); // 출력: 12
    }

     


    3. 고차 함수 (Higher-Order Functions)

    함수를 매개변수로 전달

    아래 코드는 int Function(int, int) 타입의 함수를 매개변수로 받을 수 있음

    void applyFunction(int a, int b, int Function(int, int) operation) {
      print("Result: ${operation(a, b)}");
    }
    
    void main() {
      applyFunction(5, 3, (x, y) => x + y); // 출력: Result: 8
      applyFunction(5, 3, (x, y) => x * y); // 출력: Result: 15
    }

     

    함수를 반환하는 함수.

    return 에 함수를 넣어주면 됨

    Function makeAdder(int x) {
      return (int y) => x + y;
    }
    
    void main() {
      var add5 = makeAdder(5);
      print(add5(3)); // 출력: 8
    }

     


    4. 익명 함수 (Anonymous Function)

    함수 이름 없이 선언할 수 있음

    이름 없는 함수를 변수에 저장할 수 있음

    void main() {
      var multiply = (int a, int b) {
        return a * b;
      };
    
      print(multiply(4, 5)); // 출력: 20
    }

     

     

     

    반응형