728x90
연습사이트
1. 변수
변수에서 중요한점은 Null Safety를 Dart에서 고려해야한다.
선언과 동시에 초기화를 해줘야한다는 점이다.
//int age ; // 문제발생
int age = 99; // 이렇게 해야한다
// 겸사 dart 주석 은이렇게 구성 되어 있다.
// 한줄 주석
/*
여러줄 주석
*/
- 정수형 (int)
int age = 25;
- 실수형 (double)
double height = 175.5;
- 숫자형 (num)
- int 또는 double 타입을 모두 포함하는 숫자 타입입니다.
num number = 10; // 정수
number = 10.5; // 실수도 허용됨
- 문자열 (String)
String name = "John";
- 불리언 (bool)
bool isLoggedIn = false;
- 동적 타입 (dynamic)
- 어떤 타입의 값도 저장할 수 있는 동적 타입입니다.
- 후에 타입을 변경할 수 있습니다
dynamic data = "Hello";
data = 10; // 다른 타입도 허용됨
- 변수 (var)
- Dart가 자동으로 타입을 추론하는 변수입니다.
- 선언후 다른 타입으로 할당 불가
var age = 25; // int로 추론
var height = 175.5; // double로 추론
age = 30; // OK
age = "30"; // 오류 발생: 'age'는 int로 선언되었으므로 다른 타입을 할당할 수 없음
2. 형변환
Dart에서는 자동 형변환을 제공해주지않는다
따라서 형변환을 직접 해줘야하는데
- 정수 ↔ 실수 간 변환
- to메소드
- as 연산자
int number = 10;
double doubleValue = number.toDouble();// int를 double로 변환
print(doubleValue);
int intValue = doubleValue.toInt(); // double을 int로 변환
int intNum = 1;
double doubleNum = intNum as double;
- 문자열 ↔ 숫자형 간 변환
- Parse메소드 (문자열 -> 숫자형)
- to메소드 (숫자형 -> 문자형)
String strValue = "123";
int intValue = int.parse(strValue); // 문자열을 int로 변환
double doubleValue = double.parse(strValue); // 문자열을 double로 변환
int number = 456;
String stringNumber = number.toString(); // int를 문자열로 변환
- 형변환 예외 처리
try {
int value = int.parse("abc"); // 형변환 실패
} catch (e) {
print("형변환 오류 발생: $e");
}
3. 컬렉션
Dart에서 컬렉션은 여러 개의 데이터를 다루기 위해 사용되는 데이터 구조입니다.
주요 컬렉션 타입은 List, Set, Map을 설명하고자 합니다:)
여기서는 간단한 메서드만 다루며 컬렉션의 주요 메서드관련은 한개씩 다시 다룰 예정입니다
3.1 List (리스트)
- 선언 방법
List numbers = [1, 2, 3, 4, 5];
// List<int> numbers = [1, 2, 3, 4, 5]; //와동일
var fruits = ["Apple", "Banana", "Cherry"];
- 주요 메서드
- add(): 리스트에 요소 추가
- remove(): 특정 요소 제거
- removeAt(): 특정 인덱스 제거
- contains(): 리스트에 특정 요소가 포함되어 있는지 확인
- length : 리스트의 길이확인
3.2 Set (셋)
- 선언 방법
Set uniqueNumbers = {1, 2, 3, 4, 5};
var letters = {"A", "B", "C"};
- 주요 메서드
- add(): 셋에 요소 추가
- remove(): 특정 요소 제거
- contains(): 셋에 특정 요소가 포함되어 있는지 확인
3.3 Map (맵)
- 선언 방법
Map<String, int> ages = {"Alice": 25, "Bob": 30};
var scores = {"Math": 95, "English": 88};
- 주요 메서드
- putIfAbsent(): 키가 없을 경우 값을 추가
- remove(): 특정 키와 연결된 값 제거
- containsKey(): 맵에 특정 키가 있는지 확인
4.컬렉션 간 형변환
컬렉션 타입 간에도 형변환이 가능합니다.
- List → Set 변환
List numbers = [1, 2, 2, 3, 4];
Set uniqueNumbers = numbers.toSet(); // 중복된 값이 제거됨
- Set → List 변환
Set letters = {"A", "B", "C"};
List letterList = letters.toList();
- Map의 키 또는 값만 List로 변환
Map<String, int> scores = {"Math": 95, "English": 88};
List subjects = scores.keys.toList(); // 키만 리스트로 변환
List values = scores.values.toList(); // 값만 리스트로 변환
728x90
댓글