【建站服务】高端!网站定制/设计/优化/二次开发/制作/搭建-怒江高端网站建设-域名申请
作者: 风兰 . 阅读量: 3 . 发表时间:2022-09-21 05:52:15
上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
高端!网站定制/设计/优化/二次开发/制作/搭建-怒江高端网站建设

=9 cap=9 slice=[0 1 2 3 4 5 6 7 8]numbers == [0 1 2 3 4 5 6 7 8]numbers[1:4] == [1 2 3]numbers[:3] == [0 1 2]numbers[4:] == [4 5 6 7 8]len=0 cap=5 slice=[]len=2 cap=9 slice=[0 1]len=3 cap=7 slice=[2 3 4]
如果想增加切片的容量,我们必须创建一个新的更大的切片并把原分片的内容都拷贝过来。
下面的代码描述了从拷贝切片的 copy 方法和向切片追加新元素的 append 方法。
以上代码执行输出结果为:
len=0 cap=0 slice=[]len=1 cap=1 slice=[0]len=2 cap=2 slice=[0 1]len=5 cap=6 slice=[0 1 2 3 4]len=5 cap=12 slice=[0 1 2 3 4]
package main
import "fmt"
func main() {
numbers := []int{0,1,2,3,4,5,6,7,8}
printSlice(numbers)
fmt.Println("numbers ==",numbers)
numbers1 := numbers[1:4]
printSlice(numbers1)
fmt.Println("numbers[:3] ==", numbers[:3])
numbers2 :=numbers[4:]
printSlice(numbers2)
numbers3 := make([]int,0,5)
printSlice(numbers3)
numbers4 := numbers[:2]
printSlice(numbers4)
}
func printSlice(x []int){
fmt.Printf("len=%d cap=%d slice=%v ",len(x),cap(x),x)
}
输出结果:
len=9 cap=9 slice=[0 1 2 3 4 5 6 7 8]
numbers == [0 1 2 3 4 5 6 7 8]
len=3 cap=8 slice=[1 2 3]
numbers[:3] == [0 1 2]
len=5 cap=5 slice=[4 5 6 7 8]
len=0 cap=5 slice=[]
len=2 cap=9 slice=[0 1]
我们可以看出切片,实际的是获取数组的某一部分,len切片<=cap切片<=len数组,切片由三部分组成:指向底层数组的指针、len、cap。
老逗先生
老逗先生
104***5037@qq.com
5年前 (2017-12-20)
LeonWilliam
257***8572@qq.com
9
package main
import "fmt"
func main() {
sliceTest()
twoDimensionArray()
}
func sliceTest() {
arr := []int{1, 2, 3, 4, 5}
s := arr[:]
for e := range s {
fmt.Println(s[e])
}
s1 := make([]int, 3)
for e := range s1 {
fmt.Println(s1[e])
}
}
func twoDimensionArray() {
/* 数组 - 5 行 2 列*/
var a = [][]int{{0, 0}, {1, 2}, {2}, {3, 6}, {4, 8}}
var i, j int
/* 输出数组元素 */
for i = 0; i < len(a); i++ {
for j = 0; j < len(a[i]); j++ {
fmt.Printf("a[%d][%d] = %d ", i, j, a[i][j])
}
}
}
sliceTest 函数是切片测试代码,简单的两种初始化方式。
twoDimensionsArray 函数是二维数组测试函数。
测试结果:
1.二维数组中的元素(一位数组)个数 > 限制的列数,异常;
2.二维数组中的元素(一位数组)个数 <= 限制的列数,正常;
假设列数为 3, 某个一位数组 {1}, 则后两个元素,默认为 0。
LeonWilliam
LeonWilliam
257***8572@qq.com
4年前 (2018-03-26)
jean
333***2@qq.com
36
我们基于原数组或者切片创建一个新的切片后,那么新的切片的大小和容量是多少呢?
这里有个公式,对于底层数组容量是 k 的切片 slice[i:j] 来说:
长度: j-i
容量: k-i
例子:
package main
import "fmt"
func main() {
numbers:=[]int{0,1,2,3,4,5,6,7,8,9,10}
printSlice(numbers)
fmt.Printf("%d ",numbers[1:3])
fmt.Printf("%d ",numbers[2:7])
fmt.Printf("%d ",numbers[:3])
fmt.Printf("%d ",numbers[4:])
number1:=make([]int,0,5)
number2:=numbers[:3]
printSlice(number1)
printSlice(number2)
number3:=numbers[2:5]
高端!网站定制/设计/优化/二次开发/制作/搭建-怒江高端网站建设
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站


