반응형

DART 46

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가 자동완성된다. ..

Dart - 1.6 Constant Variables

dart에서의 'const'는 compile-time constant를 만들어 준다. javascript나 typescript의 const는 dart에서는 final과 비슷하다. void main() { const A = 1.0; } 위와 같이 그냥 'const'를 붙이면 된다. compile-time constant라는 것은 1) 절대 수정되지 않을 값 2) 컴파일하기 전에 '알고 있는' 값 을 의미한다. 예를 들어보면... '어떤 값의 최대값'을 지정해 준다거나, $\pi$를 상수로 입력해주거나 등의 경우가 있다. 즉, 어플리케이션의 화면에서 사용자에게 '입력받는 값이 아니'라는 것이다 참고로 late const 변수; 이런 선언문은 불가능하다. 당연하다. const를 쓴다는건 컴파일 할 때 이미 알..

Dart - 1.5 Late Variables

'late'는 'final'이나 'var', 변수 타입 선언 앞에 붙여줄 수 있는 수식어임! 예시를 들어보자면... late final name1; late final String name2; late var name3; 'late'는 초기 데이터 없이 변수를 선언할 수 있게 해줌! -> 변수를 '선언'부터 하고 나중에 데이터를 넣어줌! 물론 'late final'로 되어 있는 'name1'이나 'name2'는 한번 변수를 할당해주면 다시 못바꿈!\ 그리고... 만약 late로 변수를 만들고 값을 할당하지 않았는데 사용하려고 한다면...? print(name1); // String? _temperature; 2) String _temperature; -> late String _temperature; 첫..

반응형