FUNCTIONS

김성연·2023년 8월 29일
0

Flutter

목록 보기
50/52

Defining a Function

  • void는 아무 것도 return 하지 않는다
String sayHello(String name){
  return "Hello $name nice to meet you";
}

void main(){
  print(sayHello('성연'));
}
  • 함수가 한 줄 밖에 없을 때는 다음과 같이 fat arrow syntax 사용하면 된다.
String sayHello(String name) => "Hello $name nice to meet you";

void main(){
  print(sayHello('성연'));
}
  • 문자열 앞에 $ 표시
String sayHello(String name) => "Hello \$name nice to meet you, $name";

void main(){
  print(sayHello('성연'));
}

Named Parameters

  • 함수 매개변수가 많을 때 사용한다(어떤 값이 어떤 매개변수를 가르키는지 헷갈린다)
  • 다음과 같은 방법으로 positional parameter 사용해도 된다. 하지만 매개변수가 많으면 순서가 헷갈리기 쉽기 때문에 Namedparameter를 사용한다
    • 클린 코드 책에서도 positional parameter를 권장하지 않는다
//Positional parameter
String sayHello(String name, int age, String country){
  return "Hi, my name is $name and im $age years old, im come from $country";
}

void main(){
  print(sayHello('성연',24,'Korea')); 
}
  • NamedParameter 사용 예시
    • 매개변수에 중괄호(전체를 드래그 하고 중괄호 누르면 된다!!), required 추가
//required 사용 예시
String sayHello({required String name, required int age, required String country}){
  return "Hi, my name is $name and im $age years old, im come from $country";
}

void main(){
  print(sayHello(name:'성연',age: 24, country: 'korea'));
}
  • 미리 매개변수 값을 받아놓는 경우
//default value 지정 경
String sayHello({String name = '성연', int age = 25, String country = 'korea'}){
  return "Hi, my name is $name and im $age years old, im come from $country";
}

void main(){
  print(sayHello(name:'성연',age: 24));
}

QQ Operator

  • ??는 왼쪽 값이 null이면 오른쪽 값을 반환
  • ??=는 왼쪽 값이 null 이면 오른쪽 값을 할당

출력값을 구하시오(??과 ?=차이점)

void main() {
  String? name;
  String greeting = 'Hello, ${name ?? "Guest"}!';
  print(greeting);
  print(name);
}
void main() {
int? x;
int y = 10;

x ??= y;
print(x);
}

0개의 댓글