
Dart : Variables
Alvin Jung
·2021. 1. 26. 22:04
Ⅰ. 변수
변수는 데이터를 담는 그릇이다.
각 변수 종류를 (데이터) 타입 또는 자료형이라고 부른다.
Ⅱ. 변수 선언과 초기화
타입 변수명 = 초깃값; (이것이 변수를 선언하고 초기화하는 기본 형태이다)
int number = 0; (int는 타입, number는 변수 이름, 0은 초깃값이다. 문장 끝에 세미콜론은 필수)
String name = 'Steve';
(String은 타입, name은 변수, Steve는 초깃값, String 타입은 홑 따옴표로 감싸준다. 물론 큰따옴표로 감싸도 상관은 없다)
Ⅲ. 다트에서 제공하는 기본 데이터 타입
데이터 타입 | 비고 |
int | 정수 범위 : -263 ~ 263-1 |
double | 실수 범위 : IEEE 754 표준을 따름 |
num | int와 double의 상위 데이터 타입 |
bool | true / false 를 값으로 가짐 |
string | 문자열 (다트 스타일 가이드에서는 문자열에 홑 따옴표 권장함) |
var | 변수 할당시 타입 지정됨 타입 변경 불가 |
dynamic | 타입을 특정하지 않음 즉, 타입 변경 가능 |
list | 다트에 배열을 없음 배열(array)은 리스트(list)로 대체 [리스트] |
set | 순서가 없고 중복 없는 컬렉션 [집합] |
map | 키(key)와 값(value)의 형태를 가지는 컬렉션 [맵] |
Ⅳ. 예제
void main(){
// 정수형
int age = 100;
int favoriteNum = 6;
// 실수형
double height = 200.3;
double weight = 121.82;
// int와 double의 상위 타입
num num1 = 12;
num num2 = 1.43;
// 논리형
bool isGrounded = true;
bool isJumping = false;
// 문자형
String firstName = 'Gildong';
String lastName = 'Hong';
// 동적 타입 : var
var vAge = age; // int
var vHeight = height; // double
var vIsJumping = isJumping; // bool
var vLastName = lastName; // String
// 동적 타입 : dynamic
dynamic dAge = age; // int
dynamic dHeight = height; // double
dynamic dIsJumping = isJumping; // bool
dynamic dLastName = lastName; // String
print('나이 : $age, 가장 좋아하는 숫자 : $favoriteNum, 키 : $height, 몸무게 : $weight');
print('땅에 있습니까? : $isGrounded, 점프하는 상태입니까? : $isJumping');
print('성 : $lastName, 이름 : $firstName' + ', Full Name : ' + lastName + firstName);
print(num1 + num2); // 콘솔창에 12 + 1.43을 출력한다.
print('var : $vAge, $vHeight, $vIsJumping, $vLastName');
print('dynamic : $dAge, $dHeight, $dIsJumping, $dLastName');
}
* 다트의 들여 쓰기는 2칸이다. UI를 만들다 보면 들여 쓰기가 깊어지는데 이때 2칸이 4칸 보다 유리하기 때문이다.
void main() {
String str1 = 'Hi';
String str2 = 'Gildong';
String str3 = str1 + ', ' + str2; // 문자열을 이렇게 서로 더해줄 수 있다.
int length = str3.length; // str3의 길이를 담는 int 변수
// 같은 결과물을 두 가지 방법으로 표현해봤다.
print('str1 : ' + str1);
print('str1 : $str1');
print(''); // 이렇게 문장과 문장 사이를 한 칸 띄워줄 수 있다.
// 같은 결과물을 두 가지 방법으로 표현해봤다.
print('str2 : ' + str2);
print('str2 : $str2');
print('');
// 같은 결과물을 두 가지 방법으로 표현해봤다.
print('str3 Length : $length, str3 : ' + str3);
print('str3 Length : ' + '$length' + ', str3 : ' + str3);
}
void main() {
bool a = true;
bool b = false;
bool c = 4 < 8;
bool d = 8 < 4;
print(a);
print(b);
print(c);
print(d);
}
void main() {
int intN = 1;
double doubleN = 23.23;
num numN; // 아무 값도 할당 하지 않았다. 이 때를 null이라고 한다.
print(intN);
print(doubleN);
print(numN); // null인 것을 직접 확인해봐라.
numN = intN; // num은 int의 상위 타입이므로 num에 int 값을 할당할 수 있다.
print(numN);
numN = doubleN; // num은 double의 상위 타입이기도 하므로 num에 double 값을 할당할 수 있다.
print(numN);
// 일부 언어에서는 더 큰 자료형인 double 타입에 int 타입을 대입하는 자동 형변환을 지원하기도 하지만 다트는 그런거 없다.
// 아랫 문장은 에러 나서 주석 처리 해놨다.
/*
* doubleN = intN;
* print(doubleN);
*/
double a = intN + doubleN; // int + double = double
print(a);
}
'Dart' 카테고리의 다른 글
Dart : Constant (0) | 2021.01.28 |
---|---|
What Is Dart? (0) | 2021.01.26 |
Dart : Comments (0) | 2021.01.21 |
Dart : Statement (0) | 2021.01.21 |