
void main() {
print("Hello, world!");
}
구글이 멀티 플랫폼 상에서 동작되도록 하는 앱을 위해 디자인된 프로그래밍 언어.
다트는 2011년 10월에 공개되었다. 기본적으로 C언어의 문법과 거의 같으며 Java, C#, Javascript와 같은 기능적 스트럭처를 추가한 언어로, 언급된 언어보다 간결하고 강력한 기능을 지원한다. 모바일, 데스크톱, 서버, 웹 앱 용도에 사용된다. Dart 프로젝트의 목적은 구조적이지만 유연하고 프로그래머들에게 자연스럽고 다양한 종류의 기기에서 동작되도록 하는 것이다.
2018년도에는 배울필요가 없는 프로그래밍 언어 1위로 선정되었다 하지만 현재는 많이 올라왔다고 한다.
그리고 나는 flutter로 앱을 만들 생각이라면 dart를 배워서 개발을 해야한다.
자바스크립트언어와 매우 비슷하여 지금 리엑트를 공부하고 있던 나로서는 다행인거 같다.
Optimized for UI (UI에 최적화)
Productive development (생산적인 개발)
Fast on all platforms (모든 플랫폼에서 빠른 점)
기능
dart는 완전한 객체지향 언어이며, 다트에서 모든 것이 객체이기 때문에 함수 또한 객체이다.
변수가 함수를 참조할 수 있고, 함수의 인자로 함수를 전달받을 수 있다.
// A function declaration.
int timesTwo(int x) {
return x * 2;
}
// Arrow syntax is shorthand for `{ return expr; }`.
int timesFour(int x) => timesTwo(timesTwo(x));
// Functions are objects.
int runTwice(int x, int Function(int) f) {
for (var i = 0; i < 2; i++) {
x = f(x);
}
return x;
}
void main() {
print('4 times two is ${timesTwo(4)}');
print('4 times four is ${timesFour(4)}');
print('2 x 2 x 2 is ${runTwice(2, timesTwo)}');
}
bool isEven(int x) {
// An if-else statement.
if (x % 2 == 0) {
return true;
} else {
return false;
}
}
List<int> getEvenNumbers(Iterable<int> numbers) {
var evenNumbers = <int>[];
// A for-in loop.
for (var i in numbers) {
// A single line if statement.
if (isEven(i)) {
evenNumbers.add(i);
}
}
return evenNumbers;
}
void main() {
var numbers = List.generate(10, (i) => i);
print(getEvenNumbers(numbers));
}
우리가 흔히 알고 있는 if, for, while 등의 제어문으로 생각하면 될 것 같다.
문법적으로는 다른 여타 언어의 제어문과 크게 차이가 없다. 리액트네이티브를 공부하는 나로서는
언어를 이해하기가 어렵지 않았다.
import 'dart:math' as math;
void main() {
print('a single quoted string');
print("a double quoted string");
// Strings can be combined by placing them adjacent to each other.
print('cat' 'dog');
// Triple quotes define a multi-line string.
print('''triple quoted strings
are for multiple lines''');
// Dart supports string interpolation.
final pi = math.pi;
print('pi is $pi');
print('tau is ${2 * pi}');
}
자바스크립트를 예를 들어 div에 들어가는 글자를 어떻게 써야하는지 나타네는 Strings방식이다.