当前位置: 首页 > news >正文

Golang | 每日一练 (2)

💢欢迎来到张胤尘的技术站
💥技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥

文章目录

  • Golang | 每日一练 (2)
    • 题目
    • 参考答案
      • 数组
      • 切片

Golang | 每日一练 (2)

题目

解释 golang 中的切片和数组的区别,简述各自的使用场景。

参考答案

golang 中,切片和数组都是两种经常被使用的数据结构,它们之间有一定的联系,也存在一定的区别,同样的在使用场景上也存在差异。

数组

具体细节可以参考博客:【九】Golang 数组

数组是一种固定长度的线性数据结构,其长度在声明时确定,并且在运行时不能改变。

  • 固定长度:数组的长度在声明时指定,且不可变。
  • 内存连续:数组的元素在内存中是连续存储的。
  • 类型一致:数组中的所有元素必须是相同类型。
  • 值类型:数组是值类型,当数组被赋值或传递时,会进行拷贝。

数组的使用场景

  • 当需要存储固定数量的元素时,可以选择数组。例如,存储一周的天数(7个元素)。
  • 由于数组的内存是连续的,且长度固定,因此在某些对性能要求极高的场景下,数组可以提供更好的性能。
  • 如果需要明确知道内存占用大小,数组是一个不错的选择,因为它的大小在编译时就确定了。
package main

import "fmt"

func main() {
	var arr [5]int // 长度为5的整型数组
	arr[0] = 1
	arr[1] = 2
	fmt.Println(arr) // [1 2 0 0 0]
}

切片

具体细节可以参考博客:【十】Golang 切片

切片是对数组的抽象,它提供了一种灵活的、动态的方式来操作数组的子集。切片本身并不直接存储数据,而是指向一个底层数组,并通过索引范围来管理数据。

  • 动态大小:切片的大小可以动态变化,可以通过 append 函数动态扩展。
  • 引用类型:切片是引用类型,当切片被赋值或传递时,实际上传递的是对底层数组的引用。
  • 灵活性高:切片可以方便地操作数组的子集,并且可以通过 append 动态扩展。
  • 零值为nil:切片的零值是 nil,表示它没有指向任何数组。

切片的使用场景

  • 当需要存储动态数量的元素时,切片是首选。例如,存储用户输入的字符串列表。

  • 切片提供了丰富的操作方法,如 appendlencap 等,可以方便地管理数据。

  • 由于切片是引用类型,传递切片时不会复制整个数据,因此在函数参数传递时更加高效。

package main

import "fmt"

func main() {
	var slice []int
	slice = append(slice, 1, 2, 3)
	fmt.Println(slice) // [1 2 3]

	slice = append(slice, 4, 5)
	fmt.Println(slice) // [1 2 3 4 5]
}

🌺🌺🌺撒花!

如果本文对你有帮助,就点关注或者留个👍
如果您有任何技术问题或者需要更多其他的内容,请随时向我提问。

在这里插入图片描述

相关文章:

  • 全面理解-c++的auto自动类型推导
  • MongoDB数据库使用及常见问题
  • 1.力扣热题100
  • 【ARM 开发】理解 BootROM:从底层启动到安全部署的指南
  • iOS 上自定义编译 FFmpeg
  • 【c++】c++内存管理
  • LeetCode 1287.有序数组中出现次数超过25%的元素:遍历
  • 20250214 随笔 Nginx 负载均衡在数据库中的应用
  • 车辆路径问题(VRP)分支定价算法中的分支策略
  • 【C++ 算法竞赛函数速查表】
  • Leetcode 3458. Select K Disjoint Special Substrings
  • 算法学习036 C++最长上升子序列LIS 动态规划DP算法实现最长上升子序列 中小学算法思维学习 比赛算法题解 信奥算法解析
  • Wireshark 输出 数据包列表本身的值
  • SpringBoot中集成SaToken
  • vue3开发打年兽功能
  • 【论文笔记】On Generative Agents in Recommendation
  • DeepSeek 本地部署方法介绍
  • 鸡兔同笼问题
  • 20.【线性代数】——坐标系中,平行四边形面积=矩阵的行列式
  • ES快照备份索引数据(已亲测)
  • 国家防汛抗旱总指挥部对15个重点省份开展汛前实地督导检查
  • 澎湃与七猫联合启动百万奖金征文,赋能非虚构与现实题材创作
  • 英国6月初将公布对华关系的审计报告,外交部:望英方树立正确政策导向
  • 韩正会见美国景顺集团董事会主席瓦格纳
  • 新华时评:让医德医风建设为健康中国护航
  • 河南:响鼓重锤对违规吃喝问题露头就打、反复敲打、人人喊打