教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 beego读取配置yaml配置文件

beego读取配置yaml配置文件

发布时间:2022-01-16   编辑:jiaochengji.com
教程集为您提供beego读取配置yaml配置文件等资源,欢迎您收藏本站,我们将为您提供最新的beego读取配置yaml配置文件资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg><h3 id="yaml介绍">YAML介绍</h3>

YAML实质上是一种通用的数据串行化格式,它的基本语法规则如下:

<ul><li>大小写敏感</li><li>使用缩进表示层级关系</li><li>缩进时不允许使用tab键,只允许使用空格</li><li>缩进的空格数目不重要,只要相同层级的元素左侧对齐即可</li><li>符号#表示注释,从这个字符一直到行尾,都会被解析器忽略</li></ul><h3 id="yaml支持go">YAML支持Go</h3>

yaml包可以编码和解码YAML值,它基于著名的libyaml c库来解析和生成YAML数据。

<h4 id="兼容性">兼容性</h4>

yaml包支持大多数YAML1.1和1.2,包括支持anchors,tags,map合并等,但是多文档解析还没有实现。

<h4 id="安装使用">安装使用</h4>

安装<code>gopkg.in/yaml.v2</code>,可以运行命令<code>go get gopkg.in/yaml.v2</code>。具体的接口文档可以查看https://gopkg.in/yaml.v2。

<h4 id="演示">演示</h4>

test.yml文件

<pre class="prettyprint"><code class=" hljs http"><span class="hljs-attribute">name</span>: <span class="hljs-string">'benben_2015'</span> <span class="hljs-attribute">website</span>: <span class="hljs-string">'www.csdn.com'</span> <span class="hljs-attribute">year</span>: <span class="hljs-string">2015</span> <span class="haml">favourite: -<span class="ruby"> <span class="hljs-string">'play games'</span> </span> -<span class="ruby"> <span class="hljs-string">'programming'</span> </span> -<span class="ruby"> <span class="hljs-string">'reading'</span></span></span></code></pre>

main文件和test.yml在同一目录下

<pre class="prettyprint"><code class=" hljs go"><span class="hljs-keyword">package</span> main <span class="hljs-keyword">import</span> ( <span class="hljs-string">"fmt"</span> <span class="hljs-string">"io/ioutil"</span> <span class="hljs-string">"gopkg.in/yaml.v2"</span> ) <span class="hljs-keyword">type</span> CSDN <span class="hljs-keyword">struct</span> { Name <span class="hljs-typename">string</span> WebSite <span class="hljs-typename">string</span> Year <span class="hljs-typename">int</span> Favourite []<span class="hljs-typename">string</span> } <span class="hljs-keyword">func</span> main() { content, err := ioutil.ReadFile(<span class="hljs-string">"./test.yml"</span>) <span class="hljs-keyword">if</span> err != <span class="hljs-constant">nil</span> { fmt.Println(err) } csdn := CSDN{} yaml.Unmarshal(content, &csdn) fmt.Println(csdn.Name) fmt.Println(csdn.Favourite) }</code></pre> <h3 id="beego支持yaml">beego支持yaml</h3> <h4 id="安装使用-1">安装使用</h4>

beego支持解析的文件格式有ini,json,xml,yaml,可以通过如下方式进行安装,<code>go get github.com/astaxie/beego/config</code>。使用yaml驱动就需要手工安装引入包<code>go get -u github.com/astaxie/beego/config/yaml</code>

<h4 id="演示-1">演示</h4>

yaml文件相同还是用上面的代码,而main文件有变化。

<pre class="prettyprint"><code class=" hljs go"><span class="hljs-keyword">package</span> main <span class="hljs-keyword">import</span> ( <span class="hljs-string">"fmt"</span> <span class="hljs-string">"github.com/astaxie/beego/config/yaml"</span> ) <span class="hljs-keyword">type</span> CSDN <span class="hljs-keyword">struct</span> { Name <span class="hljs-typename">string</span> WebSite <span class="hljs-typename">string</span> Year <span class="hljs-typename">int</span> Favourite []<span class="hljs-typename">string</span> } <span class="hljs-keyword">func</span> main() { conf, err := yaml.ReadYmlReader(<span class="hljs-string">"./test.yml"</span>) <span class="hljs-keyword">if</span> err != <span class="hljs-constant">nil</span> { fmt.Println(err) } name := conf[<span class="hljs-string">"name"</span>] favourite := conf[<span class="hljs-string">"favourite"</span>] fmt.Println(name) fmt.Println(favourite) }</code></pre>

但是它对一些复杂的结构还不支持,例如不支持map列表。

到此这篇关于“beego读取配置yaml配置文件”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
beego读取配置yaml配置文件
Golang 入门系列(九) 如何读取YAML,JSON,INI等配置文件
Go语言从入门到精通 -【web项目实战篇】- 读取配置文件
让我们一起认识YAML:YAML简介
如何读取yaml,json,ini等配置文件【Golang 入门系列九】
python 怎么读取yaml文件
Golang——使用yaml配置文件
golang整洁之道(一)
Golang加载yaml类型配置文件问题
golang几种常用配置文件使用方法总结(yaml、toml、json、xml、ini)

[关闭]
~ ~