언어/Dart 29

[Dart] QQ Operator

QQ Operator 는 ??로 표시(?? = Question Question Operator)그리고 ?= 로 표시하는 Operator에 대해 알아본다내 이름을 대문자로 return 하는 함수를 만들 것이다   나는 여기에 null도 들어 왔으면 좋겠다 일단 null safety 때문에 에러가날때는  ? 붙이기 그러면 toUpperCase 함수가 에러가 난다 null을 대문자화 할 수 없으니  null이 아닐 경우에 toUpperCase를 사용한다고 하고null일 경우는 'ANON'으로 디폴트 값을 리턴한다 이 코드 마저도 fast arrow로 바꾸어주    String capitalizeName(String? name) => name != null ? name.toUpperCase() : 'ANO..

언어/Dart 2025.04.01

[Dart] Optional Positional Parameters

positional parameter는 순서에 맞춰 입력해야 한다 이 경우 required 한 값이 필요하다 정확한 순서만약 named argument 를 적용하고 싶지 않은데country는 required 하지 않게 하려면 어떻게 해야 할까?   main에서 korea를 지우고     sayHello 펑션의 String county 하이라이트해서 대괄호로 표시그리고 String? 라고 표시해주면 not required 상태가 된   그리고 korea 라고 디폴트 벨류를 설정해 준다 null safety에서 사용하는 ? 처럼country는 null일 수도 있다 가정하고 korea를 디폴트로 부여하는 것이   String sayHello(String name, int age, [String? countr..

언어/Dart 2025.04.01

[Dart] named Parameters

named Parameters 를 지원한다내가 하고 싶은건 sayHello 인데 그 밖에 더 정보를 보내고 싶다 String sayHello(String name, int age, String country) { return "Hello $name , you are $age, and you come from $country";}void main() { print(sayHello('sohee', 20, 'korea'));}이렇게 할 수도 있는데 가독성이 많이 떨어진다void main() { print(sayHello('sohee', 20, 'korea'));}부분의 sohee의 변수는 무엇이며20은 어떤걸 의미해서 보낸건지 korea도 어떤 의미로 보낸 건지 알 수 없다 named argument순..

언어/Dart 2025.04.01

[Dart] Defining a Funtion

Dart의 펑션은 정말 좋다고 한void sayHello(String name) { print("hello $name nice to meet you");}void main() {}sayHello 라는 펑션을 만들었다 하지만 그 전에 void라고 적었다 void는 아무것도 return 하지 않는다는 의미다출력도 안됐고 run도 아래 main함수에 있만약 이 함수가 뭔가 출력하는 대신 return을 하게 된다면 오류가 난다 void는 리턴할게 없기 때문에   하지만 void 말고 string으로 변경한다면 오류는 사라진다그리고 void main 함수에 sayHello 펑션을 불러 출력해보자  String sayHello(String name) { return "hello $name nice to meet..

언어/Dart 2025.04.01

[Dart] Sets

void main() { var numbers = {1, 2, 3, 4}; } 마우스를 올리면 set 라고 컴파일러가 생각해주었void main() { Set numbers = {1, 2, 3, 4};}이렇게 해줘도 된다Set과 List의 차이는Set의 속한 모든 값은 유니크 void main() { Set numbers = {1, 2, 3, 4}; numbers.add(1); numbers.add(1); numbers.add(1); numbers.add(1); print(numbers);}많은 1을 추가했지만 1은 하나만 나온다즉, 중복값은 제외한다 시퀀스 순서가 중요하다void main() { List numbers = [1, 2, 3, 4]; numbers.add(1); num..

언어/Dart 2025.04.01

[Dart] maps

Dart의 maps 는 jacascript나 typescript의 objectpython의 dictionary 같은 것  void main() { var player = { 'name': 'sohee', 'xp': 19.99, 'superpower': false, };} 그리고 마우스를 올려보면컴파일러가 play 변수는 Map형이라고 알려줬다key와 value로 이루어진 자료구조인 Map이다 심지어 Mapvalue가 Object로 저장되어 String이든 int이든 같이 저장한다 만약 Map을 int와 bool 으로 명시했다면그림처럼 오류가 난다 말그대로 정해진 int형식과 bool형식으로 데이터를 사용해야한다하지만 var로 했다면 컴파일러가 알아서 Map으로 인식하고value값도 Objec..

언어/Dart 2025.04.01

[Dart] Collection for

지난번 Collection if를 배웠는데 유사 기능인 collection for를 해볼 것이다 void main() { var oldFriends = ['sohee', 'seyoung']; var newFriends = ['tao', 'rahee', 'jarry'];}두개의 리스트를 만들었다oldFriends 에 newFriends 를 넣어줄 것이다 void main() { var oldFriends = ['sohee', 'seyoung']; var newFriends = [ 'tao', 'rahee', 'jarry', for (var friend in oldFriends) "(하트) $friend", ]; print(newFriends);}   newFriends 리스..

언어/Dart 2025.04.01

[Dart] String Interplation

String Interplation은 text에 변수를 추가하는 방법이다flutter에서 많이 쓰게 될 것이다이 뒤에 name 변수를 추가해서 나오게 할 것이다 void main() { var name = 'sohee'; var greeting = 'hello my name is $name, nice to meet you '; print(greeting);}     데이터안에 변수를 넣어서 출력했다 $변수   만약 연산까지 하고 싶다면 void main() { var name = 'sohee'; var age = 10; var greeting = 'hello my name is $name' + 'nice to meet you ${age + 2}'; print(greeting);} age 변수..

언어/Dart 2025.04.01

[Dart] Lists

Dart의 list 만드는법void main() { var numbers = [1, 2, 3, 4];}    간단하다  그냥 list를 명시해서 사용해도 된    하지만 List 명시했다면 String 타입은 추가할 수 없다  List 기능들  .first 는 첫번째 데이터를 출력  .last는 마지막 데이터 출력   collection if로 list를 만들 수 있다if로 존재할 수도 안할 수도 있는 요소를 가지고 만들 수 있다void main() { var giveMeFive = true; var numbers = [1, 2, 3, 4, if (giveMeFive) 5]; print(numbers); print(giveMeFive);}   만약 giveMeFive 가 true 라면 5를 출력..

언어/Dart 2025.04.01