go 寫入yaml Go語言解析YAML

2021-10-13 14:00:29 字數 1132 閱讀 1795

本篇解析yaml,是為了使用go搭建乙個基於markdown的部落格系統,當做乙個專案。

1 概述

yaml是"yaml ain't a markup language"(yaml不是一種置標語言)的遞迴縮寫。yaml 以資料為中心,使用空白,縮排,分行組織資料,從而使得表示更加簡潔易讀。乙個典型的 yaml 如下:

title: 小韓說課

category: go

tag:

- oop

- golang

基本語法為:

使用縮排表示層級關係

禁止使用tab縮排,只能使用空格鍵

縮排長度沒有限制,只要元素對齊就表示這些元素屬於乙個層級

在專案中,配置檔案選擇 yaml 是常見的選擇。

the official yaml web site

語法參考

本文介紹在 go 語言中解析 yaml。

2 安裝 `go-yaml/yaml`

下面的命令將其安裝在 gopath 目錄中:

go get gopkg.in/yaml.v2

3 解析 yaml

yaml.unmarshal 函式負責將 yaml 格式文字解析,演示如下:

import (

"gopkg.in/yaml.v2"

// 待解析資料

yamlcontent := `

field1: 小韓說課

field2:

field3: value

field4: [42, 1024]

// 儲存解析資料

result := make(map[string]inte***ce{})

// 執行解析

err = yaml.unmarshal(byte(data), &result)

if err != nil 

text, err = yaml.marshal(&data)

if err != nil {

log.fatalf("error: %v", err)

// text

field1: 小韓說課

field2:

field3: value

field4:

- 42

- 1024

go 寫入yaml Golang 解析Yaml格式

golang官方並沒有提供yaml解析包,所以需要使用第三方包。可用的第三方包有不少,這裡選擇的是 這個包提供的函式還是很少了,這真是一件好事 如果你不了解yaml,檢視yaml簡要入門 func marshal in inte ce out byte,err error 將提供的物件解析為yaml...

go語言解析yaml

關於yaml語法網路上的資料非常多,不做特別整理。個人理解yaml主要是切片 map等資料結構的一種比較容易解讀的格式。go get gopkg.in yaml.v2hostname sunny addr 127.0.0.1 logs name business logpath home work ...

go語言解析html

有兩個不錯的庫 乙個是html是html的解析器,把html文字解析出來,goquery基於html包,在此基礎上結合cascadia 包 乙個css選擇器工具 實現類似於jquery的功能,操作html非常方便。使用goquery來查詢,選擇相應的html節點,但如果要對選擇的節點進行修改,刪除操...