Tomlが読める、あるミニから言語 githubの元 CEO 、トムは作成しました。明白なトム、最小限の言語。
TOMLは、設定ファイルの小型化と読みやすさにコミット。ウィキ: https://github.com/toml-lang/toml/wiki 、公式ウェブサイト: https://github.com/toml-lang/toml 、囲碁言語の構文解析: https://github.com/BurntSushi/toml 。
他のフォーマットとの比較
TOML データのシーケンスを構成するための他のファイル形式とアプリケーションと(など YAML や JSON)は、同じ特性を有します。TOML と JSONは、マシンコードや解析を書き込むために使用を容易に行うことができ、一般的なデータ型を使用して、簡単です。TOML と YAMLは、それが簡単に任意の行の目的を理解することになり、そのようなノートとして、人間の読みやすさを重視します。TOMLはそれ以外には注釈をサポートしています(とは異なり JSON)が、シンプルさを維持して(のような YAML) 。
以来 TOML 明示的に設定ファイル形式に設計されたので、それはデータ構造の任意のシーケンスを意図していない、解析することは容易であること。TOMLのファイルは、それがキーで簡単にネストされたデータだが、それはトップレベルまたはフロートの配列を許可していませんので、直接いくつかのデータをシリアル化することはできません、ハッシュテーブルのトップレベルです。識別するための標準的なありません TOML 先頭またはファイルの末尾には、それはストリームを介してファイルを送信しますが複雑になります。これらの詳細は、アプリケーション層で交渉しなければなりません。
INIのファイルは、多くの場合、関連付けられている TOML ための構文の観点およびコンフィギュレーションファイルとしての類似性を比較します。しかし、 INIの形式が標準化されていない、彼らは優雅に、ネストの12以上のレベルを処理しません。
基本的な文法
#これはTOML文書です。 タイトル = "TOML例" [所有者] 名 = "トム・プレストン・ワーナー" DOB = 1979-05-27T07:32:00-08:00 #ファーストクラスの日付 [データベース] サーバー = "192.168.1.1" 、ポート = [8001 、8001、8002 ] connection_max = 5000 有効 = 真の [サーバ] #のインデント(タブおよび /またはスペース)が許可されますが必要とされていません [servers.alpha] IP = "10.0.0.1" DCは = "eqdc10" [servers.beta] IP = "10.0.0.2" DC = " [クライアント] データ = [ "ガンマ"、 "デルタ"]、[1、2 ]] アレイ内の#改行がOKである ホスト = [ "アルファ" 、 "オメガ"は 】
-
大文字と小文字を区別し、なければなりません UTF-8 エンコーディング
-
注:#
-
空白:タブ(0x09の)またはスペース(0x20の)
-
改行: LF(0x0Aを)または CRLF(0x0Dを0x0Aを)
-
キーと値のペア:1行、何のキー値は利用できません、それぞれの行のみがキーと値のペアを保持することができます
TOMLは、主構造と、キーと値のペアである JSON 似。値は型でなければなりません:文字列、整数、浮動小数点、ブール値、日時、配列、または表をインライン化。
キー
ような引用符および期間を含む推奨裸の文字、「127.0.0.1」=「値」
弦
TOML が 4 種文字列表現:基本的な、複数行 - 列の基本的な、文字通り、複数 - リテラル
基本的な文字列
二重引用符に包まれ、すべてのUnicode 文字が二重引用符、バックスラッシュ、制御文字に加えて、発生する可能性があります(U + 001FにU + 0000 ) エスケープする必要があります。
複数行 -基本的な文字列
二重引用符については、文字列内に保持されるために、開始デリミタの改行に加えて、3つのパッケージで構成されてい
STR1 =「」「
バラは赤で
スミレは青です」 『』
文字列リテラル
エスケープを許可していませんので、内容を簡単に脱出基本的な文字列の必要性を表すことができ、単一引用符で包まれました
winpath = 'C:\ Users \ユーザーnodejsテンプレート\'
複数行 -リテラル文字列
そして、複数行 -実質的に類似した文字列
STR1 =「」「
バラは赤で
スミレは青です『』」
値と BOOL値
INT1 = 99
FLT3 = -0.01
bool1 =真
日付時刻
日付1 = 1979-05-27T07:32:00Z
配列
アレイは、角括弧で囲まれました。スペースは改行を含め、無視されます。カンマで区切られた要素。
ARR1 = [1、2、3 ] ARR2 = [ "赤"、 "黄" "緑" ] ARR3 = [1、2]、[3、4、5]
テーブル
フォームは、また、キーと値のペアを格納するために使用される、ハッシュテーブルまたは辞書として知られています。テーブルの角括弧で囲まれた名前、および独自の線で。
[犬] のOneKey = onevalue [dog.tater] タイプ = "パグ"
TOMLの設定囲碁契約
参考:golangの学習 --TOMLの設定プロセス や https://studygolang.com/articles/12032?fr=sidebar