Dart - 언어 시작하기 ( 구조, 변수)

2020. 5. 18. 15:14난장 Dev/Flutter - Dart


기본 내용은 Dart 사이트에서 나와 있는 대로 진행했다.

책으로 나와 있으면 좋겠지만... 아직 한글로 된 책이 없는 것 같으니...(찾아보지도 않았지만...)

 

작성한 자료의 출처: https://dart.dev/samples

 

Language samples

Examples of idiomatic Dart with links to larger examples.

dart.dev

 

기본 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 )

 

 

 

1 2 3 4 5 6 7 8 9 ··· 94