Day7# Array & Slice(上)

嗨,连假後的第一天上班大家还好吗...(›´ω`‹ )...
在 Day3 有提到会在更仔细的介绍 Slice,今天就准备来进行任务。
如果都准备妥妥的,那我们就开始吧 ─=≡Σ(((っ゚∀゚)っ

事前回顾

要讲到 slice 就需要先提到 array。

Array

array 是一个集结相同资料类型的结合体,如果有学过程序语言的人,相信对 array 一定不陌生,但是在 Go 的 array 有一点点不一样。

在 Go 内的 array 一但被建立,就无法改变长度及里面的资料属性。

package main

import "fmt"

func main() {
	pet := [3]string{"Dog", "Cat", "Bird"}
	fmt.Println(pet)
}
// => [Dog, Cat, Bird]

如果我想闯关偷加一个资料进去 pet array 就会得到错误讯息 array index 3 out of bounds [0:3]

如果有时候不确定 array 到底有几个值,也可以使用下面的方式

[…]int{1, 2, 3, 4} // 在编译时他会自动去计算 {} 内有几个元素

这时候就会思考,这麽不弹性的 array 该怎麽用!
但其实不用担心,这个 array 并不是我们常见的其他程序语言内的 array,真正比较像 array 的 array 应该是 slice(登愣)!

Slice

slice 可以任意增加阵列内的元素及长度,与 array 同样以 [] 定义,但不同的是不用在 [] 内写上数量。

如何定义 slice:

cats := []string{"BuiBui", "MeiMei"}

也能够透过 make 方法长出一个 slice

// func make([]T, len, cap) []T
func make([]string, len, cap) 

至於 lencap 又是在做什麽?
请容许我搬到下一篇再来继续解释 (›´ω`‹ )...

结尾

时间没抓好,但又不想草草了事,就让我任性的放任这篇分成上下集吧!
有任何问题欢迎与我告知 :)


<<:  [day-7] 在正式开始写程序之前,先来认识电脑本身吧!(Part .2)

>>:  Day7 ROS 工具介绍

Day24 用python写UI-聊聊Text(一)

今天放假好开心,睡超饱的ヾ(^▽^))), 但是还是要起床发文啦~ Text顾名思义就是可以输入文字...

Day15 - 汇出(下载) PDF

前言 使用者在操作页面或输入网址後,要下载档案(不局限於 PDF 档案),可以使用 Ruby on ...

ADV campaigns: why it is important to monitor conversions

In recent years, with the development of web marke...

Day26 Cookie 的使用-1

cookie的使用方法: 这边我们用setcookie() 添加COOKIE值 setcookie(...

Day 12 强化学习 (Reinforcement Learning)

强化学习什麽是? 简称RL,在没有以往资料的前提下,将模型放到使用环境中,透过一些操作观察环境状态,...