首页 > 其他分享 >Go语言:利用 TDD 测试驱动开发帮助理解数组与动态数组(切片)的区别

Go语言:利用 TDD 测试驱动开发帮助理解数组与动态数组(切片)的区别

时间:2023-03-20 18:00:57浏览次数:55  
标签:func 数组 int TDD 切片 numbers want Go got

Array VS Slice

数组允许你以特定的顺序在变量中存储相同类型的多个元素。 对于数组来说,最常见的就是迭代数组中的元素。 我们创建一个 Sum 函数,它使用 for 来循环获取数组中的元素并返回所有元素的总和。  

先写测试(array)

利用 TDD 思想我们需要先写测试函数 先创建一个 sum_test.go 文件 在 sum_test.go 中:
package main

import "testing"

func TestSum(t *testing.T) {

    numbers := [5]int{1, 2, 3, 4, 5}

    got := Sum(numbers)
    want := 15

    if want != got {
        t.Errorf("got %d want %d given, %v", got, want, numbers)
    }
}

数组的容量是我们在声明它时指定的固定值。我们可以通过两种方式初始化数组:

 关于其他引用类型的介绍参考

标签:func,数组,int,TDD,切片,numbers,want,Go,got
From: https://www.cnblogs.com/slowlydance2me/p/17235617.html

相关文章

  • golang导出docker镜像
    1.下载镜像//downloadDockerImageimageTagName:="k8s.gcr.io/etcd:3.5.0-0"funcdownloadDockerImage(imageTagNamestring)(string,error){//要执行的命......
  • B. Make Array Good【二进制构造】
    B.MakeArrayGoodhttps://codeforces.com/problemset/problem/1762/B思路将不是\(2^n(n>0)\)的数构造成最小的一个大于\(a[i]\)的\(2^n\),证明:\[a[i]_{new}=2^......
  • Leetcode 4. 寻找两个正序数组的中位数(二分)
    题目链接在这里:是一道很好的二分题,一开始没有想到越界怎么处理,忽略了(m+n)/2一定介于min(n,m)和max(n,m)之间,因此如果确定在短的数组上进行二分就不用考虑越界问题了,其次......
  • golang面试题单向链表和双向链表
    甲流难受中,简单发一个链表 1.单项列表packagemainimport( "fmt" "strconv")typeNodestruct{ valueint next*Node}typeLinkliststruct{ leni......
  • go 1.19 gRPC的简单实操
    学习一段时间的grpc了,今天简单记录下grpc的使用流程。在进入今天的分享前,请确保自己已经安装好相关的环境:go1.19protocv3.19.4protoc-gen-gov1.28.1protoc-gen-go......
  • [链表]用静态数组模拟单链表
    来源:模板题算法标签链表题目描述实现一个单链表,链表初始为空,支持三种操作:(1)向链表头插入一个数;(2)删除第k个插入的数后面的数;(3)在第k个插入的数后插入一个数现在要对......
  • FastDDS-5.发现机制
    5、发现机制FastDDS作为一种数据分发服务(DDS)实现,提供了发现机制,允许在域参与者之间自动查找和匹配DataWriter和DataReader,以便他们可以开始共享数据。对于所有机制,此发......
  • Deepin 安装MongoDB Compass 1.35.0
    deepin软件商店版本太低,从官网下载一个最新版本,手动安装分享一下安装过程MongoDBCompass下载地址使用deepin自带的软件包安装器,选择文件安装即可。由于无法指定目......
  • mysql-connector-python驱动和django-mysql-pool连接池
    ##################### 为了设计一个公用的、安全的连接池接口,可以考虑以下几个方面:封装连接池初始化和获取连接的逻辑,使得调用者不需要了解连接池的具体实现细节,只需要调......
  • iview 多弹框,显示z-index 不对,被遮挡的解决方案 goTop函数 modal Drawer 抽屉
    iview多弹框,显示z-index不对,被遮挡的解决方案goTop函数modal原因弹多个modal框的时候,会被遮挡,导致后显示的框在下面解决原理获取当前弹框的z-index,然后设置新弹框是之前......