Java教程

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

本文主要是介绍【备战春招】第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() 不会扩容。拷贝数据比源数据长,只替换源数据长度的值;拷贝数据比源数据短,只拷贝源数据的长度,不会对拷贝数据进行扩容
  • 使用时要注意性能的问题
这篇关于【备战春招】第2天 Go语言语法进阶指南-变量操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!