반응형

앱 만들기 프로젝트/Dart 28

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..

Dart - 2.5 Sets

Set는 List와 비슷하게 생겼지만 매우 다르다. 일단 선언하는 방법은 아래와 같다. var numbers = {1, 2, 3, 4}; Set numbers1 = {1, 2, 3, 4};'중괄호'로 생성했음을 주의하자.대괄호로 생성하면 List, 중괄호로 생성하면 Set이다.물론, Set이런 식으로 할 수도 있다. List와 Set의 차이점은 '구성요소들이 unique하다'는 것이다.아래 코드블럭 처럼... numbers.add(1); numbers.add(1); numbers.add(1); numbers.add(1); numbers.add(1); print(numbers);Set인 numbers에 1을 여러번 추가해도, 출력하면 1은 한번밖에 나오지 않는다.그러니까, '구성요소들이 딱 ..

Dart - 2.4 Maps

Dart에서의 Map은 Javascript와 Typescript의 object, Python의 dictionary 같은 것이다. (믈론, 나는 Javascript와 Typescript는 모른다. 강의에서 그렇다고 한다.) 'key'와 'value'를 갖는다. 아래와 같이 선언할 수 있다. var player = { 'name': 'nico', 'xp': 19.99, 'superpower': false, }; 딱 보면 익숙하지 않은가? 왼쪽이 key, 오른쪽이 value이다. 이렇게 정의 내리면 player의 타입은? Type: Map 'key'는 String이고, 'value'는 Object이라고 쓰여 있다. 그러면 Object 는 뭘까?' Object는 string, int 등등 아무거나 들어올 수 있..

Dart - 2.3 Collection For

Dart 공식 문서에 따르면...(https://dart.dev/guides/language/language-tour#collection-operators) Dart also offers collection if and collection for, which you can use to build collections using conditionals (if) and repetition (for). 컬렉션을 구축할 때 'if'나 'for'을 사용할 수 있다고 되어있다. Collection for는 아래와 같이 사용한다. void main() { var oldFriends = ['nico', 'lynn']; var newFriends = [ 'lewis', 'ralph', 'darren', for (var ..

Dart - 2.2 String Interpolation

String Interpolation은 'text'에 변수를 추가하는 것을 말한다. (솔직히 이거를 어떻게 부르는지를 몰랐는데, 이렇게 부른다는걸 알게 되었다.) 방법은 아래 코드블럭과 같다. void main() { var name = 'nico'; var age = 10; var greeting1 = "Hello everyone, my name is ${name} and I'm ${age + 2}"; var greeting2 = 'Hello everyone, my name is ${name} and I\'m ${age + 2}'; } ${변수} 이렇게 하면 된다. 변수를 불러오기만 하는거라면 중괄호가 필요 없다. 하지만, 그냥 헷갈리지 않도록 하기 위해 나는 중괄호를 다 붙이게 될 것 같다.. 그리고..

Dart - 2.1 Lists

var numbers = [1,2,3,4]; List numbers2 = [1,2,3,4]; 위의 두 방법 모두 'int'의 list를 만드는 방법이다. 이때, 끝을 쉼표로 마무리하면 아래와 같이 자동으로 해준다. var numbers = [ 1, 2, 3, 4, ]; List numbers2 = [ 1, 2, 3, 4, ]; collection if 이거는 강의를 듣자마자 진짜 엄청난 기능이라고 느꼈다. 딱 봐도, 많이 쓸 수 있을 기능일 것 같다. var giveMeFive = true; var numbers3 = [ 1, 2, 3, 4, if (giveMeFive) 5, // pattern을 사용한다고 하는데... 더 공부하기엔 시간이 없어서... 여기까지... 그리고, 블로그 https://vel..

Dart - 2.0 Basic Data Types

String name1 = 'nico'; String name2 = "nico"; bool alive = true; int age = 12; double money = 69.99; String은 'ㅁㄴㅇㄹ', "ㅁㄴㅇㄹ" 이렇게 두가지 모두 사용할 수 있고... 다른 언어처럼 bool, int, double...이렇게 있다. 그리고 dart에서는 함수를 포함한 위의 변수 타입 모두. 그리고, 거의 대부분의 타입들이 '객체'로 이루어져 있다. 그래서 String이나 bool, double 등을 우클릭하고 '형식정의로 이동(Go to type definition)'을 누르면 class로 되어 있음을 확인할 수 있다. 그래서, 'money.'을 입력하면 double이 가지는 모든 method가 자동완성된다. ..

반응형