<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          YAML語(yǔ)法規(guī)則

          共 3798字,需瀏覽 8分鐘

           ·

          2021-04-17 19:13

          點(diǎn)擊上方藍(lán)色字體,選擇“標(biāo)星公眾號(hào)”

          優(yōu)質(zhì)文章,第一時(shí)間送達(dá)

          YAML是一個(gè)可讀性高,用來(lái)表達(dá)數(shù)據(jù)序列化的格式。其基本的語(yǔ)法規(guī)則是:

          • 大小寫(xiě)敏感

          • 使用縮進(jìn)表示層級(jí)關(guān)系

          • 縮進(jìn)時(shí)不允許使用Tab鍵,只允許使用空格。

          • 縮進(jìn)的空格數(shù)目不重要,只要相同層級(jí)的元素左側(cè)對(duì)齊即可

          • 編輯器:

                     (1)建議使用能將跳格字符自動(dòng)轉(zhuǎn)換成空白字符的編輯器,并且使用定寬度的字體。

                     (2)編輯器要能正確的處理UTF-8和UTF16編碼

          標(biāo)量定義

          字符串

          字符串可以用單引號(hào)或者雙引號(hào)進(jìn)行包裹起來(lái),在有些情況下也可以不用引號(hào)。

          A string in YAML
          'A singled-quoted string in YAML'
          "A double-quoted string in YAML"

          如果字符串的首部或者尾部有空白字符,那么必須使用引號(hào),否則在解析文件的時(shí)候會(huì)將首部和尾部的空白字符移除。

          如果在字符串中包含下面的字符,必須要使用引號(hào),如果你使用單引號(hào)的話可以避免轉(zhuǎn)義,如果使用雙引號(hào)那么在下面的字符前面必須使用轉(zhuǎn)義字符“\”:

          :, {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @, `

          如果在字符串中包含了如下的控制字符,必須要使用雙引號(hào)

          \0, \x01, \x02, \x03, \x04, \x05, \x06, \a, \b, \t, \n, \v, \f, \r, \x0e, \x0f, \x10, \x11, \x12, \x13, \x14, \x15, \x16,\x17, \x18, \x19, \x1a, \e, \x1c, \x1d, \x1e, \x1f, \N, \_, \L, \P

          此外,在下面這幾種情況下也必須使用引號(hào)進(jìn)行包裹:

          • 當(dāng)字符串是 true 或者 false (否則的話,會(huì)被認(rèn)為是一個(gè)布爾值);

          • 當(dāng)字符串是 null或者 ~ (否則的話,會(huì)被認(rèn)為是一個(gè)null);

          • 當(dāng)字符串像一個(gè)數(shù)字,比如整數(shù)(2,4)、浮點(diǎn)數(shù)(2.6,12.3)、科學(xué)計(jì)數(shù)(12e7)等等可以被看作是數(shù)字的字符串;

          • 當(dāng)字符串看起來(lái)像一個(gè)日期格式(2014-12-31);

          如果想通過(guò)多行編寫(xiě)的方式來(lái)定義一個(gè)字符串,那么可以使用“>”,換行符會(huì)被替換為1個(gè)空格字符。

          >
            This is a very long sentence
            that spans several lines in the YAML
            but which will be rendered as a string
            without carriage returns.

          每行前面使用2個(gè)空格字符表明繼續(xù)使用前一種定義語(yǔ)法,并且不會(huì)出現(xiàn)在最終的字符串中。

          數(shù)字

          # 整數(shù)
          12
           
          # 八進(jìn)制
          014
           
          # 十六進(jìn)制
          0x0C
           
          # 浮點(diǎn)數(shù)
          13.4
           
          # 科學(xué)計(jì)數(shù)法
          1.2e+34
           
          # 無(wú)窮大
          .inf

          空值

          null或者~

          布爾值

          true和false

          日期

          使用ISO-8601標(biāo)準(zhǔn)

          2001-12-14t21:59:43.10-05:00
          # 簡(jiǎn)單的日期
          2002-12-14

          集合

          使用間斷字符“-”來(lái)定義元素序列

          - PHP
          - Perl
          - Python

          相當(dāng)于Python中的

          ['PHP''Perl''Python']

          鍵值對(duì)的表示方式:

          PHP: 5.2
          MySQL: 5.1
          Apache: 2.2.20

          相當(dāng)于python中的

          {'PHP':5.2, 'MySQL':5.1, 'Apache':'2.2.20'}

          YAML中使用縮進(jìn)或者更多的空格字符來(lái)表示嵌套的數(shù)據(jù)結(jié)構(gòu),比如下面:

          'symfony 1.0':
            Pro: 5.0
            Propel: 1.2
          'symfony 1.2':
            Pro: 5.2
            Propel: 1.3

          相當(dāng)于json中:

          {
              'symfony 1.0':{
                  'Pro': 5.0,
                  'Propel':1.2
              },
              'symfony 1.2':{
                  'Pro':5.2,
                  'Propel':1.3
              }
          }

          注意:縮進(jìn)必須使用1個(gè)或者更多的空格字符,而不能使用制表符。你也可以使用下面這種嵌套方式:

          'Chapter 1':
            - Introduction
            - Event Types
          'Chapter 2':
            - Introduction
            - Helpers

          序列的定義也可是使用下面的方式:

          [PHP, Perl, Python]

          嵌套數(shù)組的定義也可以使用下面的方式:

          { PHP: 5.2, MySQL: 5.1, Apache: 2.2.20 }

          你也可以混合搭配著使用,以提高代碼的可讀性:

          'Chapter 1': [Introduction, Event Types]
          'Chapter 2': [Introduction, Helpers]
          'symfony 1.0': { PHP: 5.0, Propel: 1.2 }
          'symfony 1.2': { PHP: 5.2, Propel: 1.3 }

          注釋

          YAML采用行注釋,使用“#”

          # 注釋一行
          "symfony 1.0": { PHP: 5.0, Propel: 1.2 } # 在行尾進(jìn)行注釋
          "symfony 1.2": { PHP: 5.2, Propel: 1.3 }



          ————————————————

          版權(quán)聲明:本文為CSDN博主「月虹」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

          原文鏈接:

          https://blog.csdn.net/weixin_43976393/article/details/99552356





          粉絲福利:Java從入門(mén)到入土學(xué)習(xí)路線圖

          ??????

          ??長(zhǎng)按上方微信二維碼 2 秒


          感謝點(diǎn)贊支持下哈 

          瀏覽 35
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美一级夜夜爽 | 男人天堂网在线视频 | 欧美日韩字幕 | 国产99久久久精品无码 | 日韩肏屄视频在线观看 |