기본 내용은 Dart 사이트에서 나와 있는 대로 진행했다.
책으로 나와 있으면 좋겠지만... 아직 한글로 된 책이 없는 것 같으니...(찾아보지도 않았지만...)
작성한 자료의 출처: https://dart.dev/samples
기본 Dart Program
// 함수 선언
printInteger(int aNumber){
print('숫자: $aNumber'); // 콘솔에 출력
}
// 앱은 여기서부터 실행됨
main(){
var number = 42; // 변수를 선언하고 초기화
printInteger(number); // 함수 호출
}
// 함수 선언
한 줄로 된 코멘트(주석). 다중일 경우 /* */을 사용한다.
int
변수 유형
42
숫자.
print()
콘솔에 출력
'...' or "..."
문자열 리터럴.
2020. 05. 20. 추가 - 홑따옴표 사용 권장. '...'
$aNumber 또는 $variableName 또는 ${expression}
문자열 리터럴 내부에서 변수 또는 표현식을 표현해준다.
main()
앱이 실행이 되는 필수, 최상위 기능
var
변수의 유형을 지정하지 않고 변수를 선언하는 방법
변수 - Variables
Dart에서 사용되는 변수는 명시적일 필요가 없다.
var name = 'Bob';
var를 사용하는 것을 봤을 때 자바스크립트 같은데, 조금씩 섞여 있다 보니...
일단 위와 같이 입력한다면 '=' 기호 오른쪽을 보고 변수의 타입을 자동으로 지정해 준다.
위는 당연히 String 으로 인식된다.
하지만,
가장 중요하게 기억해야 할 부분은 Javascript에서는 한번 할당한 변수 타입을 재할당하여 변경할 수 있었지만, Dart 에서는 재할당이 불가능하다. var로 선언하면서 설정된 변수 타입은 변경할 수 없다.
//import 'package:part2_langsample/part2_langsample.dart' as part2_langsample;
void main(List<String> arguments) {
//print('Hello world: ${part2_langsample.calculate()}!');
var name = 'Bob'; // 자동으로 변수 타입 인식
print('나의 이름은: $name');
//name = 30; // 재할당 테스트
print('나의 이름은: $name');
dynamic name2 = 'dynamic Bob'; //재할당이 가능한 dynamic
print('나의 이름은: $name2');
name2 = 30;
print('나의 이름은: $name2');
Object name3 = 'Object Bob'; //재할당이 가능한 Object
print('나의 이름은: $name3');
name3 = 30;
print('나의 이름은: $name3');
}
위의 코드를 보면 name을 string으로 할당한 후 30으로 number형으로 변경하면 에러가 발생된다.
재할당을 위한 방법으로는 var가 아닌 dynamic 또는 Object로 할당하면 가능하다.
명시적으로 변수를 선언하는 것도 가능하다.
String name = 'Bob';
홈페이지에서 설명된 Dart의 타입을 설명하면 다음과 같다.(Runes, Symbols 는 제외)
1. Numbers ( int, double, num)
2. Strings ( String )
3. Booleans ( bool )
4. Lists ( List )
5. Sets ( Set )
6. Maps ( Map )