Dart In Action - Dar 의 기본 데이터 형식 (1)
본 고 는 기본적으로 dart 홈 페이지 의 일부 내용 을 번역 하 는 것 입 니 다. 관심 이 없 으 시 면 좌회전 해서 Dart 홈 페이지 로 가세 요. 관심 이 있 는 분 들 은 계속 본문 을 읽 으 세 요.Flutter 튜 토리 얼 여기 있 습 니 다.
숫자.
Dart 의 숫자 는 모두 2 가지 로 나 뉜 다.
int
정형 은 64 위 보다 크 지 않 고 구체 적 으로 플랫폼 에 달 려 있다.Dart VM 에서 값 은 - 263 에서 263 - 1. JavaScript 로 컴 파일 된 Dart 는 JavaScript 숫자 를 사용 하여 - 253 에서 253 - 1 의 값 을 허용 합 니 다.double
64 비트 (이중 정밀도) 부동 소수점 은 IEEE 754 기준 으로 규정 한다.int
와 더 블 은 모두 num
의 하위 유형 이다.num
유형 은 기본 연산 자, 예 를 들 어 +, -, / 와 * 를 포함 하고 abs()
, ceil()
와 floor()
그리고 다른 방법 을 찾 을 수 있 는 곳 이다.(비트 연산 자, 예 를 들 어 >>
, int
클래스 에 정의 되 어 있 습 니 다.) num 과 하위 클래스 가 원 하 는 내용 이 없 으 면 dart: math 라 이브 러 리 에서 원 하 는 것 이 있 을 수 있 습 니 다.정 수 는 소수점 이 없 는 숫자 다.다음은 정수 문 자 를 정의 하 는 예제 입 니 다.
int x = 1;
int hex = 0xDEADBEEF;
숫자 에 소수 가 포함 되 어 있 으 면, 두 정밀도 이다.다음은 이중 정밀도 숫자 를 정의 하 는 예제 입 니 다.
double y = 1.1;
double exponents = 1.42e5;
다음은 문자열 을 숫자 로 바 꾸 는 방법 입 니 다. 반대로 도 마찬가지 입 니 다.
// String -> int
var one = int.parse('1');
assert(one == 1);
// String -> double
var onePointOne = double.parse('1.1');
assert(onePointOne == 1.1);
// int -> String
String oneAsString = 1.toString();
assert(oneAsString == '1');
// double -> String
String piAsString = 3.14159.toStringAsFixed(2);
assert(piAsString == '3.14');
int
유형 은 전통 적 인 위치 이동 (< >), AND (&) 와 OR (|) 연산 자 를 지정 합 니 다.예 를 들 면:assert((3 << 1) == 6); // 0011 << 1 == 0110
assert((3 >> 1) == 1); // 0011 >> 1 == 0001
assert((3 | 4) == 7); // 0011 | 0100 == 0111
문자 숫자 는 컴 파일 시 상수 입 니 다.많은 산술 표현 식 도 컴 파일 시 상수 입 니 다. 작업 수가 숫자 로 컴 파일 될 때 상수 입 니 다.(주: 표현 식 과 관련 된 변수 도 컴 파일 시 상수 라면 표현 식 도 컴 파일 시 상수 입 니 다.)
const msPerSecond = 1000;
const secondsUntilRetry = 5;
const msUntilRetry = secondsUntilRetry * msPerSecond;
문자열
Dart 문자열 은 일련의 UTF - 16 코드 유닛 입 니 다.작은 따옴표 나 작은 따옴표 로 문자열 을 만 들 수 있 습 니 다:
var s1 = 'Single quotes work well for string literals.';
var s2 = "Double quotes work just as well.";
var s3 = 'It\'s easy to escape the string delimiter.';
var s4 = "It's even easier to use the other delimiter.";
표현 식 의 값 을 문자열 에 $
{expression}
를 사용 할 수 있 습 니 다.표현 식 이 식별 자 라면 {} 을 건 너 뛸 수 있 습 니 다.대상 에 대응 하 는 문자열 을 가 져 오 려 면 Dart 호출 대상 toString()
방법 입 니 다.var s = 'string interpolation';
assert('Dart has $s, which is very handy.' ==
'Dart has string interpolation, ' +
'which is very handy.');
assert('That deserves all caps. ' +
'${s.toUpperCase()} is very handy!' ==
'That deserves all caps. ' +
'STRING INTERPOLATION is very handy!');
주의: = = 연산 자 는 두 대상 이 같은 지 테스트 합 니 다.만약 두 문자열 이 같은 코드 단원 서열 을 포함한다 면, 그것들 은 같은 효 과 를 가진다.
인접 한 문자열 문자 나 + 연산 자 를 사용 하여 문자열 을 연결 할 수 있 습 니 다:
var s1 = 'String '
'concatenation'
" works even over line breaks.";
assert(s1 ==
'String concatenation works even over '
'line breaks.');
var s2 = 'The + operator ' + 'works, as well.';
assert(s2 == 'The + operator works, as well.');
여러 줄 문자열 을 만 드 는 또 다른 방법: 작은 따옴표 나 작은 따옴표 가 있 는 삼중 따옴표 사용 하기:
var s1 = '''
You can create
multi-line strings like this one.
''';
var s2 = """This is also a
multi-line string.""";
"raw" 문자열 을 만 들 려 면 앞 에 r 를 추가 할 수 있 습 니 다.
var s = r'In a raw string, not even
gets special treatment.';
문자열 에 유 니 코드 문 자 를 표시 하 는 방법 에 대한 자세 한 정 보 는 Runes 를 참조 하 십시오.
텍스트 문자열 은 컴 파일 시 상수 입 니 다. 모든 플러그 인 표현 식 이 컴 파일 시 상수 라면 null 또는 수치, 문자열 또는 불 값 입 니 다.
// const String .
const aConstNum = 0;
const aConstBool = true;
const aConstString = 'a constant string';
// const String .
var aNum = 0;
var aBool = true;
var aString = 'a string';
const aConstList = [1, 2, 3];
const validConstString = '$aConstNum $aConstBool $aConstString';
// const invalidConstString = '$aNum $aBool $aString $aConstList';
문자열 사용 에 대한 더 많은 정 보 는 문자열 과 정규 표현 식 을 참조 하 십시오.
불 값
Dart 는 불 값 을 표시 하기 위해
bool
이라는 유형 이 있 습 니 다.두 대상 만 bool
유형 을 가지 고 있다. true
과 false
모두 컴 파일 시 상수 이다.Dart 의 유형 안전 은
if(nonbooleanValue)
또는 assert(nonbooleanValue)
등 코드 를 사용 할 수 없다 는 것 을 의미 합 니 다.반면 검사 치 를 명 확 히 하 는 것 은 다음 과 같다.// Check for an empty string.
var fullName = '';
assert(fullName.isEmpty);
// Check for zero.
var hitPoints = 0;
assert(hitPoints <= 0);
// Check for null.
var unicorn;
assert(unicorn == null);
// Check for NaN.
var iMeantToDoThis = 0 / 0;
assert(iMeantToDoThis.isNaN);
리스트
아마도 거의 모든 프로 그래 밍 언어 에서 가장 흔히 볼 수 있 는 집합 은 배열 이나 질서 있 는 대상 그룹 일 것 이다.Dart 에 서 는 배열 이 List 대상 이기 때문에 대부분의 사람들 은 목록 이 라 고 만 부른다.
Dart 목록 문 자 는
JavaScript
배열 문자 처럼 보 입 니 다.이것 은 간단 한 Dart List 입 니 다.var list = [1, 2, 3];
메모: 분석 기 추정 목록 의 유형 은 List 입 니 다.이 목록 에 정수 가 아 닌 대상 을 추가 하려 고 시도 하면 분석 기 나 실행 중 오류 가 발생 할 수 있 습 니 다.더 많은 정보 에 대해 서 는 유형 을 읽 고 추측 하 십시오.List 는 0 에서 시작 하 는 색인 을 사용 합 니 다. 그 중에서 0 은 첫 번 째 요소 의 색인 입 니 다.
list.length - 1
은 마지막 요소 의 색인 입 니 다.JavaScript
에서 처럼 목록 의 길 이 를 가 져 오고 목록 요 소 를 참조 할 수 있 습 니 다.var list = [1, 2, 3];
assert(list.length == 3);
assert(list[1] == 2);
list[1] = 1;
assert(list[1] == 1);
컴 파일 할 때 상수 목록 을 만 들 려 면 목록 텍스트 전에 추가 하 십시오
const
:var constantList = const [1, 2, 3];
// constantList[1] = 1; // 。
List 형식 은 목록 을 조작 하 는 데 편리 한 방법 이 많 습 니 다.목록 에 대한 더 많은 정 보 는 범 형 과 집합 을 참조 하 시기 바 랍 니 다.
반사
일반적으로 매 핑 은 키 와 값 이 있 는 대상 이다.키 와 값 은 모든 종류의 대상 이 될 수 있 습 니 다.키 당 한 번 만 나타 나 지만 같은 값 을 여러 번 사용 할 수 있 습 니 다.Dart 의 Map 은 맵 텍스트 와 Map 을 지원 합 니 다.
간단 한 Dart 맵 이 몇 개 있 습 니 다. map 텍스트 로 만 듭 니 다:
var gifts = {
// Key: Value
'first': 'partridge',
'second': 'turtledoves',
'fifth': 'golden rings'
};
var nobleGases = {
2: 'helium',
10: 'neon',
18: 'argon',
};
주의: 분석 기 추정
gifts
의 유형 은 Map
이 고 nobleGases
의 유형 은 Map 입 니 다.임의의 맵 에 오류 형식의 값 을 추가 하려 고 시도 하면 분석 기 나 실행 중 오류 가 발생 할 수 있 습 니 다.더 많은 정보 에 대해 서 는 유형 을 읽 고 추측 하 십시오.Map 구조 함수 로 같은 대상 을 만 들 수 있 습 니 다:
var gifts = Map();
gifts['first'] = 'partridge';
gifts['second'] = 'turtledoves';
gifts['fifth'] = 'golden rings';
var nobleGases = Map();
nobleGases[2] = 'helium';
nobleGases[10] = 'neon';
nobleGases[18] = 'argon';
주의:
new Map()
뿐만 아니 라 Map()
보고 싶 을 수도 있 습 니 다.Dart 2 부터 new
키 워드 를 선택 할 수 있 습 니 다.상세 한 정 보 는 구조 함 수 를 참조 하 시기 바 랍 니 다.JavaScript
에서 처럼 새로운 키 쌍 을 기 존 맵 에 추가 합 니 다:var gifts = {'first': 'partridge'};
gifts['fourth'] = 'calling birds'; //
자바 스 크 립 트 와 같은 방식 으로 맵 에서 값 을 검색 합 니 다:
var gifts = {'first': 'partridge'};
assert(gifts['first'] == 'partridge');
맵 에서 저장 되 지 않 은 키 를 찾 으 면 되 돌아 갑 니 다
null
:var gifts = {'first': 'partridge'};
assert(gifts['fifth'] == null);
.length
를 사용 하여 Map
키 쌍 의 수량 을 가 져 옵 니 다:var gifts = {'first': 'partridge'};
gifts['fourth'] = 'calling birds';
assert(gifts.length == 2);
컴 파일 시 상수 맵 을 만 들 려 면 맵 전에 추가 하 십시오
const
:final constantMap = const {
2: 'helium',
10: 'neon',
18: 'argon',
};
// constantMap[2] = 'Helium'; // 。
맵 에 대한 더 많은 정 보 는 범 형 과 맵 을 참조 하 시기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.