iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >Golang:创建一个 strutcs 切片
  • 142
分享到

Golang:创建一个 strutcs 切片

2024-04-05 00:04:35 142人浏览 安东尼
摘要

从现在开始,我们要努力学习啦!今天我给大家带来《golang:创建一个 strutcs 切片》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的

从现在开始,我们要努力学习啦!今天我给大家带来《golang:创建一个 strutcs 切片》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

我想创建一个结构列表,这些结构可以由函数以 Go-GitHub 包中的方式返回。

但是创建和填充此类列表的正确方法是什么?

我找到了两种方法,例如使用 append()

...
    allowedrepos := strings.fields("repo1, repo2")

    actualrepos := []repos{}
    actualrepos = append(actualrepos, repos{name: "repo1", url: "gth.com/repo1"})
    actualrepos = append(actualrepos, repos{name: "repo2", url: "gth.com/repo2"})
...

并通过“直接初始化:

...
    actualRepos := []Repos{
        Repos{Name: "repo1", URL: "gth.com/repo1"},
        Repos{Name: "repo2", URL: "gth.com/repo2"},
    }

它们确实有效,但看起来都有点尴尬和错误。

那么 - 最好的方法是什么?

看起来需要使用指针创建它,但无法使其工作。


解决方案


其实并没有什么错,两种做法都是正确有效的。
唯一的区别是切片填充时间。
在第二种方法中,您在开发期间填充切片,这意味着以下代码:

actualrepos := []repos{
    repos{name: "repo1", url: "gth.com/repo1"},
    repos{name: "repo2", url: "gth.com/repo2"},
}

始终会创建其中包含 2 个元素的切片。

但是使用第一种方法,您可以使用 append() 在运行时填充切片,例如:

actualrepos := []repos{}
for _, repo := range allrepos {
  actualrepos = append(actualrepos, repo)
}

所以现在一切都取决于 allrepos 并且现在此代码具有在运行时确定的动态行为。

请注意切片本身是通过引用传递的,例如:

s := [...]string{"r", "o", "a", "d"}
s2 := s[:]
s[3] = "x"

结果将是:

// s = [r o a x], s2 = [r o a x]

今天关于《Golang:创建一个 strutcs 切片》的内容介绍就到此结束,如果有什么疑问或者建议,可以在编程网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

您可能感兴趣的文档:

--结束END--

本文标题: Golang:创建一个 strutcs 切片

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Golang:创建一个 strutcs 切片
    从现在开始,我们要努力学习啦!今天我给大家带来《Golang:创建一个 strutcs 切片》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的...
    99+
    2024-04-05
  • 从另一个切片创建切片但类型不同
    问题内容 是否有一种简单易读的方法来创建切片的副本但使用另一种类型? 例如,我收到了 int32 的切片 (mySlice []int32),但我需要它的副本,并且该副本应为 int64: copyOfMyS...
    99+
    2024-02-02
  • golang-切片slice的创建方式
    在创建一个新的切片是都会先创建一个长度为len的数组,并为其开辟一个cap长度为cap的额外空间,所以在cap范围类增加元素,数组的起始地址不会改变,否则会创建一个新的数组,即起始的...
    99+
    2024-04-02
  • 在 Golang 中将一个字节切片压缩到另一个切片中
    问题内容 我想实现与此处给出的解决方案完全相反的效果,将一个字节片段压缩到另一个字节片段中 - 将压缩的 []byte 转换为解压的 []byte golang 代码 类似 - fun...
    99+
    2024-02-12
  • 从切片创建类型
    问题内容 我想创建一个像堆栈一样的数据类型。我想在“顶部”添加和删除条目,并能够将其打印出来。在此示例中,xpath 类型用于遍历 xml 文档并跟踪当前路径。 所以我创建了一个xpa...
    99+
    2024-02-06
    编译错误 string类 overflow
  • 如何将元素从一个切片移动到另一个切片
    php小编苹果将为大家介绍如何将元素从一个切片移动到另一个切片的方法。在编程中,切片是一种常用的数据结构,它可以存储多个元素。有时候,我们需要将某个元素从一个切片中取出,并将其移动到另...
    99+
    2024-02-10
  • 数组切片创建数组副本
    数组切片可创建数组副本,语法为:array[start:end],其中 start 是起始索引,end 是结束索引(不包括)。它不会修改原始数组,但会创建一个引用指向原始元素。对切片数组...
    99+
    2024-04-27
    编程 数组 python
  • 一文浅析Golang中的切片(Slice)
    本篇文章带大家学习一下Golang,聊聊Go语言基础中的切片(Slice),希望对大家有所帮助。1.切片的定义从上一节我们知道,因为数组的长度是固定的并且数组长度属于类型的一部分,数组a中已经有三个元素了,我们不能再继续往数组a中添加新元素...
    99+
    2023-05-14
    切片 Golang go语言 Go
  • CSS怎么创建一个透明图片背景
    这篇文章主要介绍“CSS怎么创建一个透明图片背景”,在日常操作中,相信很多人在CSS怎么创建一个透明图片背景问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS怎么创建一个透...
    99+
    2024-04-02
  • HTML 5中怎么创建一个图片浏览器
    今天就跟大家聊聊有关HTML 5中怎么创建一个图片浏览器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。创建文件首先我们创建一个新的 html 文件 ...
    99+
    2024-04-02
  • python中怎么创建一个图片的文件夹
    要在Python中创建一个图片文件夹,可以使用os模块来操作文件系统。下面是一个示例代码: import os # 指定图片文件夹...
    99+
    2024-04-02
  • golang 删除切片的某个元素及剔除切片内的零值方式
    看代码吧~ func remove(slice []interface{}, elem interface{}) []interface{}{ if len(slice)...
    99+
    2024-04-02
  • 创建一个SpringBoot项目
    Spring的诞生是为了简化JAVA程序的开发的 快速开发Spring而诞生的 SpringBoot为了快速开发Spring而诞生的一个框架 1)什么是SpringBoot?为什么要学它(重要) Spring是包含了众多工具...
    99+
    2023-10-23
    java spring spring boot
  • golang如何将一个json切分成两个struct
    小编给大家分享一下golang如何将一个json切分成两个struct,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一个json切分成两个structjson.Unmarshal([]by...
    99+
    2024-04-02
  • 一文详解Golang中的切片数据类型
    目录含义定义三个要素切片与数组的区别示例代码切片内存分布切片定义分类数组生成切片示例代码切片索引直接声明切片定义语法代码示例使用make定义切片常用操作长度计算容量计算判断是否为空切...
    99+
    2024-04-02
  • 如何使用 Go 从切片中随机选择一个偏向切片一端的项目?
    问题内容 我了解从 go 中的 slice 中选择随机值的一种方法: rand.Seed(time.Now().UTC().UnixNano()) ...
    99+
    2024-02-06
  • mysql 根据一个表创建另一个表
    可以使用以下语法来根据一个表创建另一个表: CREATE TABLE new_table_nameAS SELECT * FROM old_table_name; 这将会复制旧表中的所有行和列到新表中。可以在创建新表时增加筛选条件或...
    99+
    2023-10-18
    mysql 数据库
  • 如何利用HLS创建一个Golang视频流服务器
    这篇文章给大家介绍如何利用HLS创建一个Golang视频流服务器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。HLS 是 HTTP Live Streaming 的缩写,是苹果开发的一种基于 HTTP 的自适应比特率流...
    99+
    2023-06-20
  • 创建一个数字单位转换器,使用Golang开发
    数字单位转换器是一种常见的工具,可以帮助我们在不同单位之间进行转换,比如长度单位之间的转换,重量单位之间的转换等。今天,我们将使用Golang来开发一个数字单位转换器,让我们来看看具体...
    99+
    2024-02-25
    转换器 golang 数字单位 golang开发
  • mysql如何创建一个表
    这篇文章给大家分享的是有关mysql如何创建一个表的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。1.登陆成功后,首先进入某一个数据库 (不是指数据库服务器)use t1; //...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作