继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【备战春招】第2天 Go语言语法进阶指南-变量操作

慕仙4468190
关注TA
已关注
手记 7
粉丝 0
获赞 0

课程章节:内建方法

课程讲师:Gavin

课程内容:

  1. append&copy&delete

对变量进行操作

图片描述

package main

import "fmt"

func main() {
    //test func
}

//向切片添加元素并打印出切片的长度和容量
func appendSlice() {
    mSlice := make([]string,2)
    mSlice[0] = "id-1"
    mSlice[1] = "id-2"
    fmt.Println("len=",len(mSlice))
    fmt.Println("cap=",cap(mSlice))

    mSlice= append(mSlice, elems:"id-3")
    fmt.Println(mSlice)
    fmt.Println("After len=",len(mSlice))
    fmt.Println("After cap=",cap(mSlice))
}

//拷贝切片
func copySlice() {
    //拷贝
    mIDSliceDst := make([]string,3)
    mIDSliceDst[0] = "id-dst-1"
    mIDSliceDst[1] = "id-dst-2"
    mIDSliceDst[2] = "id-dst-3"

    //源
    mSlice:= make([]string,2)
    mIDSliceSrc[0] = "id-src-1"
    mIDSliceSrc[1] = "id-src-2"
    mIDSliceSrc[2] = "id-src-3"

    copy(mIDSliceDst, mIDSliceSrc)
    fmt.Println(mIDSliceDst)

}

//删除map中的数据
func deleteMap() {
    mMap:=make(map[int]string)
    mMap[0] = "id-1"
    mMap[1] = "id-2"
    delete(mMap,key:0)//map[1:id-2]
    delete(mMap,key:1)//map[]
    fmt.Println(mMap)
}

课程收获:

图片描述

  • map 创建的长度是 2,赋值的下标超出长度会报错(越界)
  • append() 可以对 Slice 扩容
  • 查看长度 len()
  • 查看容量 cap()
  • 在性能要求较高的情况下,先确定长度(容量),这样不用额外做一些内存分配(耗资源),先定长或预估
  • copy() 不会扩容。拷贝数据比源数据长,只替换源数据长度的值;拷贝数据比源数据短,只拷贝源数据的长度,不会对拷贝数据进行扩容
  • 使用时要注意性能的问题
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP