返回顶部
首页 > 资讯 > 后端开发 > GO >使用go将多行字符串写入yaml文件
  • 579
分享到

使用go将多行字符串写入yaml文件

2024-04-05 00:04:43 579人浏览 安东尼
摘要

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《使用Go将多行字符串写入yaml文件》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。问题内

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《使用Go将多行字符串写入yaml文件》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我需要将多行字符串作为值写入 go 中的 yaml 文件。当我整理数据时,我在数据中得到 \n ,如下所示。

apiversion: v1
name: td-agent-bit-config
namespace: logging
labels:
  k8s-app: td-agent-bit-logging
data: "\n\tapiversion: v1\n\tkind: configmap\n\tmetadata:\n\tname: td-agent-bit-config\n\tnamespace:
  se\n\tlabels:\n\t  k8s-app: td-agent-bit-logging\n\tdata:"

如果我将其写为字符串,则会遇到缩进问题。

kind: configmap
    metadata:
      name: td-agent-bit-config
      namespace: se
      labels:
        k8s-app: td-agent-bit-logging
    data:
      actinium.conf: |
[input]
    name        tail
    buffer_max_size 3m
    buffer_chunk_size 3m
    mem_buf_limit 100mb
    tag actinium.*```

我的 yaml 文件应该如下所示

kind: ConfigMap
metadata:
  name: td-agent-bit-config
  namespace: se
  labels:
    k8s-app: td-agent-bit-logging
data:
  fluent-bit.conf: |
    [SERVICE]
        Flush         1
        Log_Level     info
        Daemon        off
    @INCLUDE input-kubernetes.conf
    @INCLUDE filter-kubernetes.conf
    @INCLUDE output-kafka.conf

  input-kubernetes.conf: |
    [INPUT]
        Name        tail
        Buffer_Max_Size 3M
        Buffer_Chunk_Size 3M
        Mem_Buf_Limit 100MB
        Tag <serviceName>.*
        Path        /myntra/<serviceName>/logs/*/*
        DB /var/log/<serviceName>.db
        Refresh_Interval 10s
        Rotate_Wait 10s

谁能帮忙解决这个问题吗?


正确答案


我不知道你如何编组/解组 yaml

但是如果你使用https://GitHub.com/go-yaml/yaml就没有问题(去get gopkg.in/yaml.v2)

package main

import (
    "fmt"
    "log"
    "gopkg.in/yaml.v2"
)

var data = `
a: easy!
b:
  c: 2
  d: [3, 4]
e:  |
    [service]
        flush         1
        log_level     info
        daemon        off
    @include input-kubernetes.conf
    @include filter-kubernetes.conf
    @include output-kafka.conf
`

// note: struct fields must be public in order for unmarshal to
// correctly populate the data.
type t struct {
    a string
    b struct {
        renamedc int   `yaml:"c"`
        d        []int `yaml:",flow"`
    }
    e string
}

func main() {
    t := t{}

    err := yaml.unmarshal([]byte(data), &t)
    if err != nil {
        log.fatalf("error: %v", err)
    }
    fmt.printf("--- t:\n%v\n\n", t)

    d, err := yaml.marshal(&t)
    if err != nil {
        log.fatalf("error: %v", err)
    }
    fmt.printf("--- t dump:\n%s\n\n", string(d))
}
--- t:
{Easy! {2 [3 4]} [SERVICE]
    Flush         1
    Log_Level     info
    Daemon        off
@INCLUDE input-kubernetes.conf
@INCLUDE filter-kubernetes.conf
@INCLUDE output-kafka.conf
}

--- t dump:
a: Easy!
b:
  c: 2
  d: [3, 4]
e: |
  [SERVICE]
      Flush         1
      Log_Level     info
      Daemon        off
  @INCLUDE input-kubernetes.conf
  @INCLUDE filter-kubernetes.conf
  @INCLUDE output-kafka.conf

终于介绍完啦!小伙伴们,这篇关于《使用go将多行字符串写入yaml文件》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~编程网公众号也会发布golang相关知识,快来关注吧!

您可能感兴趣的文档:

--结束END--

本文标题: 使用go将多行字符串写入yaml文件

本文链接: https://lsjlt.com/news/596277.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用go将多行字符串写入yaml文件
    亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《使用go将多行字符串写入yaml文件》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。问题内...
    99+
    2024-04-05
  • 使用Java怎么将字符串写入文本文件
    今天就跟大家聊聊有关使用Java怎么将字符串写入文本文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、Filewriter与File——-将字符串写入文本文件public&nbs...
    99+
    2023-05-30
    java 字符串
  • PHP将一个字符串写入文件
    这篇文章将为大家详细讲解有关PHP将一个字符串写入文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用 PHP 将字符串写入文件 概览 将字符串写入文件是 PHP 中一项常用任务,用于创建、更新或追加内...
    99+
    2024-04-02
  • 使用Java怎么将小写字符串转换成大写字符串
    使用Java怎么将小写字符串转换成大写字符串?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. An...
    99+
    2023-06-14
  • Python如何往TXT文件写入字符串
    可以使用`open()`函数来打开一个txt文件,并指定打开方式为写入模式('w')。然后,可以使用文件对象的`write()`方法...
    99+
    2023-08-24
    Python
  • 使用ByteArrayOutputStream写入字符串方式
    目录使用ByteArrayOutputStream写入字符串文件与二进制数据互转-ByteArrayOutputStream使用ByteArrayOutputStream写入字符串 ...
    99+
    2024-04-02
  • PHP将整个文件读入一个字符串
    这篇文章将为大家详细讲解有关PHP将整个文件读入一个字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP将整个文件读入一个字符串 引言 在某些情况下,您可能需要将整个文件读入PHP字符串变量中。这可...
    99+
    2024-04-02
  • python如何​使用多行字符串
    这篇文章给大家分享的是有关python如何使用多行字符串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用多行字符串基本方法是使用从 C 语言派生的反斜杠。multiStr = "s...
    99+
    2023-06-27
  • 使用Stream writer将特定字节写入文本文件
    要使用Stream writer将特定字节写入文本文件,您可以按照以下步骤进行操作:1. 创建一个FileStream对象来打开或创...
    99+
    2023-09-26
    Stream
  • 如何使用ByteArrayOutputStream写入字符串方式
    如何使用ByteArrayOutputStream写入字符串方式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。使用ByteArrayOutputStream写入...
    99+
    2023-06-22
  • 使用PHP的explode()函数将字符串分割成多个子字符串
    使用PHP的explode()函数将字符串分割成多个子字符串在PHP开发中,字符串的分割是一项常见的操作。PHP提供了explode()函数来将一个字符串按照指定的分隔符进行分割,将其分割成多个子字符串,然后将这些子字符串存储在一个数组中。...
    99+
    2023-11-03
    PHP explode() 分割字符串
  • Java字符串写入文件三种方式的实现
     Java字符串写入文件三种方式的实现1、使用FileWriterString str="hello world!"; FileWriter writer; try { writer = new FileWr...
    99+
    2023-05-31
    java 字符串 写入文件
  • 如何使用C语言将数字、字符等数据写入、输出到文本文件中
    目录1.首先需要声明一个文件指针变量2.接下来需要对这个指针变量进行初始化3.然后开始利用相应函数将数据写入文件4.最后一步,也是关键的一步总结最近在调试程序,想把过程中需要查看的数...
    99+
    2024-04-02
  • 将带有字符串键/值的文件转换为 Go 映射
    编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天编程网就整理分享《将带有字符串键/值的文件转换为 ...
    99+
    2024-04-05
  • python使用lower函数将字符串中的大小字符转换为小写
    在python中使用lower()函数将字符串中大小字符转换为小写的方法lower:lower()函数的作用是转换字符串中所有大写字符为小写。lower()函数语法:str.lower()lower()函数使用方法:str = "HELLO...
    99+
    2024-04-02
  • 怎么使用C语言将数字和字符等数据写入并输出到文本文件中
    这篇文章主要介绍“怎么使用C语言将数字和字符等数据写入并输出到文本文件中”,在日常操作中,相信很多人在怎么使用C语言将数字和字符等数据写入并输出到文本文件中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使...
    99+
    2023-07-02
  • 如何使用 Golang 将内容写入文件?
    如何在 go 中将内容写入文件?使用 os.openfile() 打开或创建文件,并返回一个 *os.file 对象用于写入。使用 io.writestring() 函数直接将字符串写入...
    99+
    2024-05-15
    golang 文件读写
  • 使用golang中的strings.ToTitle函数将字符串转换为大写
    使用golang中的strings.ToTitle函数将字符串转换为大写,需要具体代码示例在Go语言中,字符串是一个非常重要的数据类型,我们经常需要对字符串进行各种操作。其中,将字符串转换为大写是一种需要频繁进行的操作,可以使用golang...
    99+
    2023-11-18
    Golang strings ToTitle
  • PHP使用 FreeType 2 字体将文本写入图像
    ...
    99+
    2024-04-02
  • 使用正则表达式将字符串的首字母由小写转换为大写
    本篇文章给大家分享《使用正则表达式将字符串的首字母由小写转换为大写》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一...
    99+
    2024-04-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作