返回顶部
首页 > 资讯 > 精选 >如何为导入的嵌入结构文字提供值?
  • 563
分享到

如何为导入的嵌入结构文字提供值?

2024-02-05 22:02:41 563人浏览 薄情痞子
摘要

问题内容 这里是菜鸟:) 我无法理解 当我在一个文件中执行此操作时: scratch.Go package main import "fmt" type foo struct {

问题内容

这里是菜鸟:) 我无法理解

当我在一个文件中执行此操作时:

scratch.Go

package main

import "fmt"

type foo struct {
    field1 string
    field2 string
}

type bar struct {
    foo
    field3 string
    field4 string
}

func main() {
    foobar := bar{
        foo{
            "apples",
            "banana",
        },
        "spam",
        "eggs",
    }
    fmt.printf("%#v\n", foobar)

}

它有效 但是当我有 3 个这样的文件时

rootproject
├── magazine
│   ├── address.go
│   └── employee.go
└── main.go

magazine/address.go

package magazine

type address struct {
    street     string
    city       string
    state      string
    postalcode string
}

magazine/employee.go

package magazine

type employee struct {
    name   string
    salary float64
    address
}

main.go

package main

import (
    "fmt"
    "magazine"
)

func main() {
    employee := magazine.employee{
        name:   "pogi",
        salary: 69420,
        magazine.address{
            street:     "23 pukinginamo st.",
            city:       "bactol city",
            state:      "betlog",
            postalcode: "23432",
        },
    }

    fmt.printf("%#v\n", employee)

}

错误:(

mixture of field:value and value elements in struct literal

我不明白,我做错了什么?我认为如果该结构是嵌套的,则据说它嵌入在外部结构中,并且我可以从外部结构访问内部结构的字段。我的第一个示例(单个文件)就是这种情况,但是当我在包中执行此操作时。有什么不同吗?


正确答案


我认为如果该结构是嵌套的,则据说它嵌入在外部结构中,并且我可以从外部结构访问内部结构的字段。

是的,您可以直接访问嵌入字段的成员,但这在使用 复合文字。如果您查看结构文字的规则,您会发现以下规则:

如果任何元素有一个键,那么每个元素都必须有一个键。

无论是否嵌入字段,此规则都适用。

要修复该错误,您可以删除其他键:

func main() {
    employee := magazine.employee{
        "pogi",
        69420,
        magazine.address{
            street:     "23 pukinginamo st.",
            city:       "bactol city",
            state:      "betlog",
            postalcode: "23432",
        },
    }
    fmt.printf("%#v\n", employee)
}

或者您可以指定所有键:

func main() {
    employee := magazine.Employee{
        Name:   "pogi",
        Salary: 69420,
        Address: magazine.Address{
            Street:     "23 pukinginamo st.",
            City:       "bactol city",
            State:      "betlog",
            PostalCode: "23432",
        },
    }
    fmt.Printf("%#v\n", employee)
}

请注意,对于嵌入字段,您可以使用类型的非限定名称来引用嵌入字段。

https://www.PHP.cn/link/2eeb0ca3f02a275d5179f3b6d9e86e7d:

使用类型声明但没有显式字段名称的字段称为嵌入字段。嵌入字段必须指定为类型名称 t 或指向非接口类型名称 *t 的指针,并且 t 本身可能不是指针类型。 非限定类型名称充当字段名称

以上就是如何为导入的嵌入结构文字提供值?的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 如何为导入的嵌入结构文字提供值?

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

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

猜你喜欢
  • 如何为导入的嵌入结构文字提供值?
    问题内容 这里是菜鸟:) 我无法理解 当我在一个文件中执行此操作时: scratch.go package main import "fmt" type foo struct { ...
    99+
    2024-02-05
  • C++技术如何为嵌入式设备开发提供支持?
    c++++ 凭借其内存管理、高效执行、代码复用和实时性特性,成为嵌入式设备开发的有利选择。这些特性通过优化内存利用、生成快速代码、促进重用以及支持实时响应,增强了嵌入式系统的性能、效率和...
    99+
    2024-05-12
    c++ 嵌入式设备 资源优化
  • 如何访问结构体的指针切片字段内的嵌入结构体
    php小编草莓为您介绍如何访问结构体的指针切片字段内的嵌入结构体。在Go语言中,我们可以使用指针切片来存储结构体数据,并且在结构体中嵌入其他结构体作为字段。然而,访问嵌入结构体字段需要...
    99+
    2024-02-09
    go语言
  • 如何进行MySQL表结构的导入和导出
    本篇文章给大家分享的是有关如何进行MySQL表结构的导入和导出,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。MySQL表结构的导入和导出  M...
    99+
    2024-04-02
  • 如何设置嵌入HTML文档的字体
    这篇文章主要介绍“如何设置嵌入HTML文档的字体”,在日常操作中,相信很多人在如何设置嵌入HTML文档的字体问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何设置嵌入HTML...
    99+
    2024-04-02
  • 如何将现有数据库结构导入PowerDesigner
    只是用的时候,需要注意,如果是通过  脚本 sql  file 文件 去  上传的话,必须是表 设计 内容,即表结构 。 不能带上数据,否则 PowerDesigner 识别不了...
    99+
    2014-12-24
    如何将现有数据库结构导入PowerDesigner
  • python如何提取列表嵌套字典的值
    要提取列表嵌套字典中的值,可以使用循环结构来遍历列表和字典,并使用字典的键来访问对应的值。以下是一个示例代码:```pythonda...
    99+
    2023-09-26
    python
  • 代码必须加载字体文件,如何嵌入到构建的二进制文件中
    在PHP开发中,加载字体文件是一项常见的需求。然而,为了确保字体文件的可用性和方便性,我们可能会考虑将字体文件嵌入到构建的二进制文件中。这样一来,我们就不再需要依赖外部的字体文件,而是...
    99+
    2024-02-09
    overflow
  • 【深入】体系结构-002-数据变化如何写入文件
    第一步:事务开始; 第二步:在buffer cache中找到需要的数据块,如果没找到,从数据文件中载入buffer cache中; 第三步:事务修改buffer cache的数据块,该数据被标识为“脏数...
    99+
    2024-04-02
  • 如何删除在 mongodb 中插入嵌套结构时添加的附加键
    php小编苹果为您带来一篇关于如何删除在mongodb中插入嵌套结构时添加的附加键的文章。在使用mongodb存储数据时,有时候我们会为了方便查询和操作而在嵌套结构中添加一些附加键。但...
    99+
    2024-02-09
  • 如何查询关系的嵌入值等于特定值的模型?
    在开发和设计数据库模型时,有时我们需要查询关系中的嵌入值是否等于特定值。这个问题在实际应用中经常遇到,但解决起来可能并不容易。在本文中,我将向大家介绍一种有效的方法来查询关系的嵌入值是...
    99+
    2024-02-09
    sql语句
  • 如何提高嵌入式设计的电源效率
    过去25年中,肖特基整流器已广泛用于嵌入式电源中。肖特基二极管具有非常低的正向电压降(V F),在合理的泄漏电流下,开关速度在纳秒范围内,与传统的外延pn二极管相比具有竞争优势。 因此,肖特基二极管已成为低于150V电压范围的电源输出级中的...
    99+
    2023-09-26
    linux 嵌入式 c语言 人工智能
  • plsql文本导入字符串太长如何解决
    在PL/SQL中导入的字符串太长可能会导致错误,因为PL/SQL中的字符串有一定的限制长度。解决这个问题的方法有几种: 将长字符...
    99+
    2024-04-20
    plsql
  • Java+EasyExcel如何实现文件的导入导出
    这篇文章将为大家详细讲解有关Java+EasyExcel如何实现文件的导入导出,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。引言项目中需要Excel文件的导入与导出Excel并下载,例如,导入员工信息,导...
    99+
    2023-06-22
  • 如何为地图值的地图创建自定义 terraform 数据源提供程序架构?
    php小编香蕉今天将为您介绍如何为地图值的地图创建自定义terraform数据源提供程序架构。在使用Terraform进行基础设施编排时,我们经常需要获取来自外部系统或服务的数据来进行...
    99+
    2024-02-10
  • plsql导入csv文件字段不显示如何解决
    如果在PL/SQL中导入CSV文件的字段不显示,有几个可能的解决方法:1. 确保CSV文件的编码和PL/SQL环境的编码一致。如果两...
    99+
    2023-10-12
    plsql
  • 如何在Vue中自定义字段导入Excel文件
    随着互联网技术的不断发展,越来越多的企业需要将海量的数据进行管理和分析,而其中不少的数据都以Excel的形式存在。基于Vue的Web应用程序,通常需要导入Excel文件进行数据分析和数据应用。Vue有很多库可以实现Excel文件的导入,但通...
    99+
    2023-05-14
  • 在将文本文件导入 MySQL 表时,如何上传列的更改值,而不是写入文本文件?
    假设如果我们想要上传更改后的值而不是文本文件中写入的值,那么我们需要将用户变量与 SET 命令一起使用。可以通过以下示例来理解 -示例假设我们在“A.txt”中有以下数据 -105,Chum,USA,11000 106,Danny,AUS,...
    99+
    2023-10-22
  • oracle12c中如何导入java的jar文件
    这篇文章主要介绍oracle12c中如何导入java的jar文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1、创建表空间 [oracle@host0...
    99+
    2024-04-02
  • 如何理解HTML5中的文件导入
    本篇内容介绍了“如何理解HTML5中的文件导入”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Templat...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作