반응형

전체 글 103

Dart - 4.5 Cascade Notation

신기한 문법이지만, 간단해서 다음의 코드만 첨부한다.class Player {  String name;  int xp;  String team;  // 변수 순서 안중요함.  Player({    required this.name,    required this.xp,    required this.team,  });  void sayHello() {    print("Hi my name is $name");  }}void main() {  var me = Player(name: 'me', xp: 1200, team: 'blue');  // name, xp, team을 바꾸고 싶다면?  me.name = 'another';  me.xp = 1000;  me.team = 'red';  // 아래와 같이 쓸..

Dart - 4.3 Named Constructors

이제, class 객체를 일부 변수만 가져와서 intialize하는 방법을 알아보자.다음의 두 constructor들을 만들 것이다.xp = 0인 blue팀 player 생성 -> createBluePlayerxp = 0인 red팀 player 생성 -> createRedPlayerclass Player {  final String name;  // 아래처럼 한번에 선언할 수도 있다.  int xp, age;  String team;  // 변수 순서 안중요함.  Player(      {required this.name,      required this.xp,      required this.team,      required this.age});  // ':' 뒤 -> class initializ..

Dart - 4.2 Named Constructor Parameters

3.1과 완전히 동일하다.자세한 것들은 아래에 있는 링크에서 보자.https://want-to-work-life-balance.tistory.com/entry/Dart-31-Named-Parameters Dart - 3.1 Named Parameters일반적인 함수를 선언하려면...String sayHello(String name, int age, String country) {  return "Hello $name, you are $age, and you come from $country";}이 함수를 불러오려면...void main() {  print(sayHello('me', 12, 'korea'));}이렇게want-to-work-life-balance.tistory.com참고 코드를 남기자면, 다..

Dart - 4.1 Constructors(생성자)

이전 파트에서는 그냥 아무것도 변수를 받지 않는 class를 만들었다.그러면? 이번엔 변수를 받을 수 있는 class를 만들어 봐야지.class Player {  // late를 이용해서 변수 선언은 여기서 하지만 값은 나중에 받아온다고 하기.  late String name;  late final int xp;  // 여기에서 값을 받아오기. class 이름과 똑같아야 함.  // Constructor  Player(String name, int xp) {    this.name = name;    this.xp = xp;  }  void sayHello() {    print("Hi my name is $name");  }}late로 나중에 받아온다고 하고 Player 함수(class랑 동일해야 함)..

Dart - 4.0 Your First Dart Class

dart에서의 class는 어떤 문법을 가지고 있을까.단순하다.class Player {  String name = 'me';  // 아래와 같이 final 사용하면 수정 불가능함.  final int xp = 1500;}그리고... 위 클래스를 사용하려면 다음과 같이 사용하면 된다.void main() {  var player = Player();  print(player.name); // 출력 결과: me  player.name = 'another';  print(player.name); // 출력 결과: another  // 아래와 같이 수정 불가능.  player.xp = 1000;}수정할 수 있는 것과, 수정이 불가능한 변수가 있는 것도 확인했다.만약, class 안에 함수가 있을 경우...cl..

Dart - 3.5 Typedef

자료형에다가 '별명'(alias)를 붙여주는 것.주로 간단한 데이터의 alias를 만들때 사용한다.Listint> reverseListOfNumbers(Listint> list) {  var reversed = list.reversed;  // reversed를 쓰면 다시 list로 변환해줘야 한다...  return reversed.toList();}이렇게 되어 있는 것에서 List의 별명을 붙여주고 싶다면...typedef ListOfInts = Listint>;// List대신 ListOfInts 사용.ListOfInts reverseListOfNumbers2(ListOfInts list) {  var reversed = list.reversed;  return reversed.toList();}이..

Dart - 3.4 QQ Operator(Null-aware operator)

다음 함수의 name에 null도 들어갈 수 있도록 하고 싶다.String CapitalizeName(String name) => name.toUpperCase();?를 붙여볼까?String CapitalizeName(String? name) => name.toUpperCase();toUpperCase가 에러라고 소리친다.당연하지. null을 어떻게 대문자로 만들어.그렇다면...name에 null이 들어오면 'ANON' 출력name이 null이 아니면 대문자로 변환하고 출력.// 해결하는 방법 1 (가장 긴 방법)String CapitalizeName2(String? name) {  if (name != null) {    return name.toUpperCase();  }  return 'ANON';..

Dart - 3.3 Optional Positional Parameters

// 3.2는 recap으로 복습이었다. 넘어가자!positional parameter인 상태로도 변수를 optional하게 받을 수 있도록 할 수 있다.* return값이 바로 나올 경우 fat arrow로 대체할 수 있다는 것을 3.0에서 배웠다.// 일반적인 함수 선언 방식String sayHello(String name, int age, String country)  => "Hello $name, you are $age, and you come from $country";이 함수는 무조건 'name, age, country'순서로 모든 변수를 입력해야 함수를 실행할 수 있다.이때, 'country'는 optional하게(필수적이지 않도록)하고 싶다면?대괄호를 씌워준다.?를 붙여서 nullable하..

Dart - 3.1 Named Parameters

일반적인 함수를 선언하려면...String sayHello(String name, int age, String country) {  return "Hello $name, you are $age, and you come from $country";}이 함수를 불러오려면...void main() {  print(sayHello('me', 12, 'korea'));}이렇게 파라미터를 순서대로 입력해야 한다. (이걸 positional argument이라고 한다.)Named Parameters를 적용하려면 다음과 같이 '중괄호{}'를 적용해주면 된다.String sayHello1({String name, int age, String country}) {  return "Hello $name, you are $a..

Dart - 3.0 Defining a Function

딱히 중요한 내용은 없다.// name void sayHello(String name) {  print("Hello $name nice to meet you!");  // void 이기 때문에 아래와 같이 'return'을 하면 에러가 난다.  // return "Hello $name nice to meet you!";}//String을 return 하기 위해서는 void 대신 String으로 함수를 정의해주면 된다.String sayHello2(String name) {  return "Hello $name nice to meet you!";}// return을 fat arrow로 대체할 수 있음 (곧바로 return -> 한줄 짜리 함수일 경우 사용)String sayHello3(String name..

반응형