Golang基础-5

Go语言基础

介绍

基础

介绍

  • 本文介绍Go语言中切片(slice)(切片声明、切片初始化、切片基础操作、多维切片)等相关知识。

基础

切片
  • 切片(slice)是对数组的一个连续片段的引用,切片是一个引用类型。
  • 切片是长度可变的数组,由三部分组成:
    • 指针:指向的数组元素的地址
    • 长度:元素的数量
    • 容量:切片可容纳多少元素
切片声明
  • 需要指定组成元素的类型,不需要指定存储元素的个数。
  • 声明后,默认初始化为 nil,意思是不存在此切片引用。
package main

import "fmt"

func main() {
	// 声明一个切片
	var slice1 []int
	fmt.Printf("slice1 type: %T, value: %v\n", slice1, slice1)
	// 自动类型推导
	slice2 := []int{}
	fmt.Printf("slice2 type: %T, value: %v\n", slice2, slice2)
}

输出结果
slice1 type: []int, value: []
slice2 type: []int, value: []

切片初始化
  • 切片初始化方式较多,具体如下
package main

import "fmt"

func main() {
	// 字面量初始化
	var slice1 []int = []int{1, 2, 3, 4, 5}
	fmt.Println("slice1: ", slice1, ", cap: ", cap(slice1))
	// 字面量初始化空切片
	var slice2 []int = []int{}
	fmt.Println("slice2: ", slice2, ", cap: ", cap(slice2))
	// 从数组创建并初始化切片
	var arr [5]int = [5]int{1, 2, 3, 4, 5}
	slice3 := arr[0:3]
	fmt.Println("slice3: ", slice3, ", cap: ", cap(slice3))
	slice4 := arr[0:2:2]
	fmt.Println("slice4: ", slice4, ", cap: ", cap(slice4))
	// 从切片创建并初始化切片
	slice5 := slice4[:1]
	fmt.Println("slice5: ", slice5, ", cap: ", cap(slice5))
	slice6 := slice4[1:]
	fmt.Println("slice6: ", slice6, ", cap: ", cap(slice6))
	slice7 := slice4[:]
	fmt.Println("slice7: ", slice7, ", cap: ", cap(slice7))
	slice8 := slice4[0:0

相关推荐

  1. Golang基础-5

    2024-03-29 05:26:04       41 阅读
  2. Golang 面试基础题】每日 5 题(一)

    2024-03-29 05:26:04       26 阅读
  3. Golang 面试基础题】每日 5 题(四)

    2024-03-29 05:26:04       20 阅读
  4. Golang 面试基础题】每日 5 题(三)

    2024-03-29 05:26:04       25 阅读
  5. Golang基础教程

    2024-03-29 05:26:04       64 阅读
  6. 指针基础 - golang

    2024-03-29 05:26:04       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-29 05:26:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-29 05:26:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-29 05:26:04       82 阅读
  4. Python语言-面向对象

    2024-03-29 05:26:04       91 阅读

热门阅读

  1. C++之struct和class区别

    2024-03-29 05:26:04       41 阅读
  2. 10.windows ubuntu 组装软件:spades,megahit

    2024-03-29 05:26:04       39 阅读
  3. Ubuntu下显卡超频和提高功耗方式

    2024-03-29 05:26:04       46 阅读
  4. 【PostgreSQL】- 1.1 在 Debian 12 上安装 PostgreSQL 15

    2024-03-29 05:26:04       51 阅读
  5. Docker版本:18.06.1安装

    2024-03-29 05:26:04       35 阅读
  6. Debian GNU/Linux 安装docker与docker compose

    2024-03-29 05:26:04       34 阅读
  7. vue3中onUnmounted详解

    2024-03-29 05:26:04       41 阅读