返回顶部
首页 > 资讯 > 后端开发 > GO >为什么解码返回结果为空
  • 499
分享到

为什么解码返回结果为空

2024-04-04 23:04:49 499人浏览 独家记忆
摘要

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《为什么解码返回结果为空》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《为什么解码返回结果为空》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我有以下代码,我想将 yaml 转换为客户端 Go 数据结构并从中获取对象名称

package main

import (
  "fmt"

  "k8s.io/api/extensions/v1beta1"
  "k8s.io/client-go/kubernetes/scheme"
)

var yml = `
apiversion: extensions/v1beta1
kind: deployment
metadata: 
name: testNginx
replicas: 1
spec: 
template:
  metadata:
    labels:
      run: testnginx
  spec:
    containers:
    - image: nginx
      name: testnginx
      ports:
      - containerport: 8080
`

func main() {
    decode := scheme.codecs.universaldeserializer().decode

    obj, _, err := decode([]byte(yml), nil, nil)
    if err != nil {
        fmt.printf("%#v", err)
    }

  //fmt.printf("%#v\n", obj)
  deployment := obj.(*v1beta1.deployment)

    fmt.printf("%#v\n", deployment.objectmeta.name)
}

返回结果应该是testnginx,但它是空的

$ ./decode-k8s-exercise 
""

不知道为什么。谢谢


解决方案


问题出在 yaml 中。 name 字段应该是 metadata 内的属性,但它们目前处于同一级别。如果您用空格缩进名称,那么它应该可以工作(这同样适用于稍后的 template)。 relicas 也应该在 spec 内:

var yml = `
apiVersion: extensions/v1beta1
kind: Deployment
metadata: 
  name: testnginx
spec:
  replicas: 1
  template:
    metadata:
      labels:
        run: testnginx
    spec:
      containers:
      - image: nginx
        name: testnginx
        ports:
        - containerPort: 8080
`

今天带大家了解了的相关知识,希望对你有所帮助;关于golang的技术知识我们会一点点深入介绍,欢迎大家关注编程网公众号,一起学习编程~

您可能感兴趣的文档:

--结束END--

本文标题: 为什么解码返回结果为空

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

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

猜你喜欢
  • 为什么解码返回结果为空
    偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《为什么解码返回结果为空》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当...
    99+
    2024-04-04
  • 为什么 mux.Vars() 返回空映射
    php小编柚子在这里为大家解答一个常见的问题:为什么在使用mux.Vars()方法时返回的是一个空映射?这个问题在开发过程中可能会遇到,通常是由于一些配置或使用上的问题所导致的。在本文...
    99+
    2024-02-09
  • python判断数据库返回结果是否为空
    python判断mongo查询结果是否为空,可以使用cursor.count()来判断,为0则查询返回结果为空。conn = pymongo.MongoClient(host="192.168.3.6",p...
    99+
    2024-04-02
  • Go语言-为什么返回值为接口类型,却返回结构体
    最近由于项目需求,阅读一些Go语言编写的项目的源代码,在某一个函数中发现了一个奇怪的现象:一个函数的返回值类型声明的是一个接口的类型,但是实际在函数体内返回的却是一个结构体类型...
    99+
    2022-06-07
    GO 结构体 返回值 go语言 接口
  • 解决SpringBoot返回结果如果为null或空值不显示处理问题
    SpringBoot返回结果如果为null或空值不显示处理 第一种方法:自定义消息转换器 @Configuration public class WebMvcConfig ext...
    99+
    2024-04-02
  • openssl_get_privatekey返回值为空 false
    一、 问题 使用openssl_get_privatekey() 返回值为空 二 、 解决 我原本的peivate_key的内容是这样子的,一个字符串,没有任何格式: $privateKey = 'A...
    99+
    2023-09-28
    php 开发语言
  • 为什么我的代码需要这么长时间才能返回结果?
    哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《为什么我的代码需要这么长时间才能返回结果?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、...
    99+
    2024-04-05
  • 为什么 time.Now().UnixNano() 在 IO 操作后返回相同的结果?
    今天编程网给大家带来了《为什么 time.Now().UnixNano() 在 IO 操作后返回相同的结果?》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家...
    99+
    2024-04-05
  • 如何解决SpringBoot返回结果如果为null或空值不显示处理问题
    这篇文章主要介绍如何解决SpringBoot返回结果如果为null或空值不显示处理问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SpringBoot返回结果如果为null或空值不显示处理第一种方法:自定义消息转换...
    99+
    2023-06-20
  • Kubernetes Watch 返回空结果(空类型,空对象)
    php小编苹果将为大家介绍一个常见的问题:Kubernetes Watch 返回空结果(空类型,空对象)。在使用Kubernetes进行监控时,有时会遇到返回空结果的情况,即使在集群中...
    99+
    2024-02-09
  • SpringBoot返回Json对象报错(返回对象为空{})
    目录1 需求描述2 代码展示3 原因分析4 解决方案5 效果展示6 结束语1 需求描述 我们现在要干一个什么事情呢,我们要在浏览器输入一个请求地址,然后我们的后端就给我返回一个Use...
    99+
    2024-04-02
  • MybatisresultType返回结果为null的问题排查方式
    目录resultType返回结果为null的问题sql语句大致如下解决办法有下面几种resultType获取结果一些有值一些为null原因配置如下resultType返回结果为nul...
    99+
    2024-04-02
  • oracle sql优化中not in子句包含null返回结果为空的分析
    这篇文章主要介绍“oracle sql优化中not in子句包含null返回结果为空的分析”,在日常操作中,相信很多人在oracle sql优化中not in子句包含null返回结果为空的分析问题上存在疑惑...
    99+
    2024-04-02
  • BeanUtils.copyProperties复制对象结果为空怎么解决
    这篇文章主要介绍“BeanUtils.copyProperties复制对象结果为空怎么解决”,在日常操作中,相信很多人在BeanUtils.copyProperties复制对象结果为空怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好...
    99+
    2023-07-02
  • 为什么结构体字段显示为空?
    php小编新一为你解答为什么结构体字段显示为空。在编程中,结构体是一种自定义的数据类型,用于存储不同类型的数据。当结构体字段显示为空时,可能是因为未正确初始化结构体或者未给字段赋值。另...
    99+
    2024-02-09
    作用域
  • 如果任何参数为 NULL,MySQL EXPORT_SET() 函数返回什么?
    如果 MySQL EXPORT_SET() 函数中提供的任何参数为 NULL,则该函数将返回 NULL。以下示例将演示它 -示例mysql> Select EXPORT_SET(NULL, 'Y','N'...
    99+
    2023-10-22
  • mybatis怎么返回结果集
    MyBatis可以通过以下方式返回结果集: 查询单个结果:使用`selectOne`方法执行查询,并返回一个对象作为结果。 Us...
    99+
    2023-10-25
    mybatis
  • Android中findViewById返回为空null的快速解决办法
    【问题描述】 Android中如下代码: LinearLayout groupPollingAddress = (LinearLayout)findViewById(R.la...
    99+
    2022-06-06
    null Android
  • 如果我们将空的十六进制值转换为数字,MySQL 将返回什么?
    我们知道,空的十六进制值是零长度的二进制字符串,因此如果向其添加 0,则结​​果将为 0。换句话说,我们可以说,如果我们将一个空的十六进制值到一个数字,然后它产生 0。下面的查询将使它理解 -mysql> SELECT X'&...
    99+
    2023-10-22
  • python怎么判断函数返回值是否为空
    python中使用if_else语句判断函数的返回值是否为空,具体方法如下:首先,在python中定义一个函数;def test():    return None函数定义好后,使用if_else语句对函数的返回值进行判断;def test...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作