void main () {
String catName = "rey";
bool isAlive = true;
int hp = 1234578;
double mp = 2456.123456;
}
숫자 자료형은 num, int, double이 있음
int와 double은 num의 클래스를 상속 받음
num 자료형을 사용하면 값은 integer가 될 수도 있고 double이 될 수도 있음
void main () {
String catName = "rey";
bool isAlive = true;
int hp = 1234578;
double mp = 2456.123456;
num x = 1234; // int
x = 1.12; // double
}
void main () {
var nums = [1,2,3,4];
}
list를 만드는 건 자바스크립트의 배열을 만드는 것과 같이 만들면 된다
자료형을 정해서 작성해줄 수 있음
void main () {
List<int> nums =
[1,
2,
3,
4,
]; // int가 들어있는 list
}
위와 같이 자료형을 명확히 적어줄 때는 class를 다룰 때 사용하면 됨
void main () {
var pleaseGiveMeSix = true;
var nums =
[1,
2,
3,
4,
if(pleaseGiveMeSix) 6, // pleaseGiveMeSix가 true면 list에 6을 추가할 수 있음
];
print(nums) // [1,2,3,4,6]
}
// 위의 코드는 아래와 같음
void main () {
var pleaseGiveMeSix = true;
var nums =
[1,
2,
3,
4,
];
if(pleaseGiveMeSix){
nums.add(6);
}
}
조건에 따라 element를 추가할 수 있음
void main () {
var oldFriend = ['hans', 'adam'];
var newFriend = [
'apple',
'saoko',
'jane',
for(var friend in oldFriend) "😊 $friend"
];
}
// [apple, saoko, jane, 😊 hans, 😊 adam];
newFriend 리스트 안에 oldFriend가 추가된 건데,
for문을 돌면서 새로운 문자열을 생성하고 이를 newFriend 리스트의 마지막 요소들로 추가한 것임
좋다...
text에 변수를 추가하는 방법임
void main () {
var name = "haha";
var sayHello = "$name 가 반갑다고 인사하네요. 안녕!";
print(sayHello); // haha 가 반갑다고 인사하네요. 안녕!
}
단순하게 변수의 값을 담고 싶은 것이라면 $변수명
처럼 입력하면 됨
자바스크립트의 템플릿 리터럴 같이 변수명 앞에 $(달러사인)를 붙이는데 따로 중괄호와 백틱을 사용할 필요없이 작은 따옴표나 큰 따옴표 안에 달러사인을 넣고 그 뒤에 바로 변수명을 쓰면 끝임
하지만 이 방법은 이미 변수가 존재할 때 사용하는 방법임
변수의 값을 계산하고 싶은 거라면 $와 함께 중괄호 내에 계산할 내용을 적으면 됨
void main () {
var name = "haha";
var age = 0
var sayHello = "${age + 1}살인 $name 가 반갑다고 인사하네요. 안녕!";
print(sayHello); //1살인 haha 가 반갑다고 인사하네요. 안녕!
}
void main () {
var nums = {1,2,3,4,5}
}
or
void main () {
set<int> nums = {1,2,3,4,5}
}
set에 있는 요소들은 유니크 해야함
아래 예시를 보자
void main () {
var nums = {1,2,3,4,5};
nums.add(1);
nums.add(1);
print(nums) // {1,2,3,4,5} 1을 더해도 변경x
}
list에 있는 값들은 변경 o
void main () {
var nums = [1,2,3,4,5];
nums.add(1);
nums.add(1);
print(nums) // {1,2,3,4,5,1,1}
}
요소가 항상 하나씩만 있어야하면 set을 사용하면 됨
자바스크립트의 object와 같음
void main() {
var player = {
'name': 'haha',
'gender': 'female',
'exp': 123456789,
'alive': true,
};
}
위의 예시 자료형을 보면 Map<String, object>라 되어있음
키가 String, value가 object라는 뜻인데 여기서 말하는 object는 어떤 값이든 올 수 있다는 뜻임(typescript의 any와 비슷)
하지만 key와 value를 가지는 구조로 object를 만들 때 그 object가 특정한 구조(API로 받은 데이터 등)를 가지고 있다면 class를 사용하는 걸 추천함