为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Go

课程章节:内建方法

课程讲师: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() 不会扩容。拷贝数据比源数据长,只替换源数据长度的值;拷贝数据比源数据短,只拷贝源数据的长度,不会对拷贝数据进行扩容
  • 使用时要注意性能的问题
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消