오늘은 다트언어를 학습했습니다.
var, dynamic, 문자열 보간법, final, const 4개의 키워드를 메인으로 글을 작성하겠습니다!
인텔리제이로 자바를 해보신분은 아실거라고 생각합니다. 자바에서 출력문은 상당히 코드가 지저분하다고 생각합니다. sop!!
다트에서 출력은 print() 함수를 통해 간략하게 사용할 수 있습니다.
또한 문자열을 사용하실때 ""(쌍 따옴표)를 사용하지 않고 ''(싱글 따옴표) 를 사용하시면 됩니다!
자바와 비슷하게 모든 코드의 끝은 세미클론으로 마무의리 해줍시다.
자바에서는 var키워드가 없었습니다. var은 선언한 데이터형을 통해 데이터타입을 자동으로 결정합니다.
runtimeType을 통해 이를 증명할 수 있으며, 하단 이미지의 결과값은 String이 출력됩니다.
var name = 'jongdroid';
print(name.runtimeType); // String
아닙니다. 대부분의 코드라인은 매우 긴 편입니다. 또한 상대방이 코드를 보았을때 즉각 이해를 도우려면
정확한 데이터타입 명시를 권장합니다.
또 var은 초기에 선언한 데이터 타입과 다른 데이터 타입을 바꿀 수 없습니다.
var name2 = 'jongdroid2';
name2 = 5; //(Error)
var과 같은 기능을 하지만 다른점이 있습니다.
var은 초기에 선언한 데이터 타입과 다른 데이터 타입으로 바꿀 수 없다고 하였습니다.
dynamic은 초기에 선언한 데이터 타입과 다른 데이터 타입으로 바꿀 수 있습니다.
dynamic name3 = 'jongdroid3';
name3 = 5;
print(name3);
문자열 보간법은 $ , ${} 이렇게 두 종류의 키워드로 나눠집니다.
예시를 먼저 볼까요?
// $변수명을 통해서 사용할 수 있습니다.
String userName = 'dart';
print('$userName'); //dart
String userName = 'dart';
print('${userName.runtimeType}'); //String
(const 이놈이 아직도 좀 헷갈립니다)
// 같은 코드 입니다.
final String name = 'jongdroid';
final name2 = 'jongdroid2'
final과 const의 차이점[중요]
const DateTime now = DateTime.now(); //에러발생 --> 시간을 가져오는 함수로 빌드되는 타임에 값을 모른다.
final DateTime now = Datatime.now(); //빌드타임에 상관없이 사용가능
const
문자열보간법은 조금 더 학습이 필요하겠다 jongdroid!!