1. yaml是什么
YAML是一個(gè)類(lèi)似 XML、JSON 的標(biāo)記性語(yǔ)言。YAML 強(qiáng)調(diào)以數(shù)據(jù)為中心,并不是以標(biāo)識(shí)語(yǔ)言為重點(diǎn)
2. 規(guī)范
- 大小寫(xiě)敏感
- 縮進(jìn)代表層級(jí),使用空格,默認(rèn)2個(gè)空格(flutter工具做了處理,tab也可以)
- # 表示注釋內(nèi)容
: 表示鍵值對(duì),注意后面要空格
{} 表示鍵值表
- 表示列表,注意后面要空格
[] 表示數(shù)組,注意每項(xiàng)之間有空格
? 表示復(fù)雜的鍵
# 鍵值對(duì),表示app的名字為flutter_app
name: flutter_app
description: A new Flutter application.
# 環(huán)境,flutter的sdk版本在此之間
environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0"
# 依賴(lài)庫(kù)
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
event_bus: ^1.0.1
shared_preferences: "^0.4.3"
flutter_refresh: ^0.0.1
#測(cè)試環(huán)境的依賴(lài)庫(kù)
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
#使用Material圖標(biāo)
uses-material-design: true
#assets文件
assets:
- images/head.png
- images/1.gif
#字體樣式
fonts:
#family與fonts是一個(gè)整體,列表的一項(xiàng)
- family: Schyler
fonts:
- asset: fonts/Schyler-Regular.ttf
- asset: fonts/Schyler-Italic.ttf
style: italic
- family: Trajan Pro
fonts:
- asset: fonts/TrajanPro.ttf
- asset: fonts/TrajanPro_Bold.ttf
weight: 700
-可轉(zhuǎn)化為[],:也可以轉(zhuǎn)化為{},轉(zhuǎn)化后類(lèi)似json
dependencies: {flutter: {sdk: flutter}, cupertino_icons: ^0.1.2, event_bus: ^1.0.1, shared_preferences: "^0.4.3", flutter_refresh: ^0.0.1}
assets: [images/head.png, images/1.gif]
很明顯沒(méi)有之前的好看,而且不好擴(kuò)展
3. 字符串操作
a.字符串
str0: '我是字符串'
#雙引號(hào)不會(huì)對(duì)特殊字符轉(zhuǎn)義
str1: "It's a test"
#單引號(hào)中單引號(hào)的字符,需要轉(zhuǎn)義
str2: 'It''s a test'
#~是空的意思
str3: ~
# 兩個(gè)!表示強(qiáng)制轉(zhuǎn)換,!!str 表示強(qiáng)制轉(zhuǎn)為str
str4: !!str true
str5: 也可以不用引號(hào)引起來(lái),厲害不
str6: '有空格 或者 特殊字符* 就必須放在引號(hào)中了'
str7: <p style="color:red">Hello world<p>
轉(zhuǎn)為json:
{ str0: '我是字符串',
str1: 'It\'s a test',
str2: 'It\'s a test',
str3: null,
str4: 'true',
str5: '也可以不用引號(hào)引起來(lái),厲害不',
str6: '有空格 或者 特殊字符* 就必須放在引號(hào)中了',
str7: '<p style="color:red">Hello world<p>' }
b.換行
str8: #每行用空格代替換行符,每行行尾空格無(wú)效
第一行
第二行
第三行
str9: | #每行都有換行符
第一行
第二行
第三行
str10: > #末尾有換行符,中間用空格代替換行符
第一行
第二行
第三行
str11: |- #末尾去除換行符
第一行
第二行
第三行
str12: |+ #末尾添加換行符
第一行
第二行
第三行
轉(zhuǎn)為json:
{ str8: '第一行 第二行 第三行',
str9: '第一行 \n第二行 \n第三行 \n',
str10: '第一行 第二行 第三行 \n',
str11: '第一行 \n第二行 \n第三行 ',
str12: '第一行 \n第二行 \n第三行 \n' }