title: Golang切片Slice的基本使用
date: 2022-11-24 23:11:12.0
updated: 2023-01-11 00:31:31.0
url: https://liumou.site/doc/574
categories:

  • GO
    tags:
  • Go

Demo

package main

import (
    "fmt"
    "strings"

    "gitee.com/liumou_site/glbm"
    "gitee.com/liumou_site/logger"
)

func main() {
    fmt.Println("切片")
    logger.Info("坐公交也用券")
    s := strings.Split("a b c", " ") // 生成切片(方法1)
    logger.Debug("切片内容: ", s)
    logger.Debug("切片数量: ", len(s))
    logger.Debug("第一个元素: ", s[0])

    s = append(s, "d") //  在尾部添加元素
    logger.Info("添加之后: ", s)
    // 删除第一个元素
    s = s[1:]
    logger.Debug("删除第一个元素: ", s)

    del_ := 1
    s = append(s[:del_], s[del_+1:]...) // 删除第二个元素
    logger.Debug("删除第二个元素: ", s)

    s = append(s, "a", "c", "刘某") // 在尾部添加多个元素
    logger.Debug("添加多个元素: ", s)

    ss := glbm.SliceToString(s, "") // 将切片转换成字符串
    logger.Info("字符串内容: ", ss)

    var si []int // 生成切片(方法2)

    si = append(si, 1) // 在尾部添加元素
    logger.Info("当前切片内容: ", si)
    // 遍历
    for index, value := range s {
        logger.Warn(index, value)
    }
    end := append([]string{"头部"}, s...) // 在尾部添加元素(PS: append不支持直接在头部插入,只能新建一个切片与旧的切片进行拼接实现)
    logger.Debug("头部添加元素之后: ", end)
    logger.Error("切片只能储存同类型元素")
}

效果

在这里插入图片描述