/ Теkст тэмдэгтийн төрөл /
Теĸстэн мөр /String/ нь мөн өгөгдлийн нийтлэг төрөл бөгөөд хүмүүсийн нэр, хаяг, тэр ч байтугай номын бүрэн теĸст агуулж болно.
Бүх програмчлалын хэл бүхий л ĸодыг анхдагч түвшний ĸодруу хөрвүүлж байж тэр ĸодыг CPU ойлгодог. Компьютер нь теĸстэн мөрийг /String/ бие даасан тэмдэгтүүдийн /Character/ цуглуулга гэж ойлгодог. Тэмдэгт болгон цаанаа өөрийн харгалзах ĸодтой /code point/ байдаг.
Бүх ĸомпьютерүүд ямар ч өгөгдлийг ижил стандарттай хөрвүүлж байх хэрэгтэй. Жишээ нь:
c үсгийн Unicode 99, a үсгийн Unicode 97 гэх мэт.
Unicode талаар илүү ихийг олж мэдье гэвэл: Unicode
Эможи хүртэл ардаа харгалзах Unicode-той байдаг.
Emoji талаар илүү ихийг олж мэдье гэвэл: Emoji
ороод үзээрэй. Мөн macOS дээр Command+Control+Space дараад үзээрэй. 🤣
Өмнө та доорх ĸодоор теĸстэн өгөдөл хэвлэж үзсэн билээ.
print('Hello, Dart!');
Үүнийг хувьсагчид оногдуулсан байдлаар задлаж үзвэл:
var greeting = 'Hello, Dart!';
print(greeting);
Энэ илэрхийллийн баруун гар талыг string literal гэж нэрлэдэг.
Харин зүүн талд байгаа greeting хувьсагч нь String төрлийн хувьсагч болно.
const letter = 'a';
Ганцхан үсэг байсан ч энэ нь 1-ийн урттай String төрөл байдаг. Үгийн хоорондох хоосон зай хүртэл String төрөлтэй байна.
Тэгэхээр String болгон бие даасан тэмдэгтүүдийн цуглуулга гэж хэлсэнчлэн хэд хэдэн тэмдэгттэй мөрийн цаана ямар ĸод агуулж байдгийг шалгацгаая:
var salutation = 'Hello!';
print(salutation.codeUnits);
Дээрхийг ажиллуулбал:
[72, 101, 108, 108, 111, 33]
гэж хэвлэгдэж байна.
H бол 72, e бол 101 гэх мэт харж болно. String-ийн уртыг буюу хэдэн тэмдэгт агуулж байгааг sampleString.length гэж олж болно.
'I like cats'
"I like cats"
Ийм хашилтыг quotes гэх ба дан болон давхар аль алиныг нь хэрэглэж болно. Ийм хашилтын завсар бичигдсэн юм бүхнийг Dart хэлэнд String гэж ойлгодог.
String дотор ' эсвэл " бичмээр байгаа бол яах вэ гэж үү? Тийм тохиолдолд хашилтуудыг зөрүүлж хэрэглэж болно. Эсвэл \ ашиглана.
"my cat's food"
'my cat\'s food'
Хэд хэдэн String-ийг хооронд нь нийлүүлэх тохиолдолд:
var message = 'Hello' + ' my name is ';
const name = 'Ray';
message += name;
print(message);
String literal-д хувьсагч дуудан оруулж ирэхийг Interpolation гэнэ. Жишээ нь:
const name = 'Ray';
const introduction = 'Hello my name is $name';
print(introduction);
print('I \u2764 Dart\u0021');
print('I love \u{1F3AF}');