首页 > 其他分享 >golang 数组切片

golang 数组切片

时间:2024-11-08 09:58:42浏览次数:1  
标签:切片 int s2 fmt golang s3 数组 Println

golang 基础 数组+切片

package main

import (
	"fmt"
)
// 数组 切片学习
func main() {
	// 数组的初始化方式
	nums1 := [3]int{1,2,3} //指定长度,全部初始化
	fmt.Println("nums1: ",nums1) 

	nums2 := [5]int{1,2,3} //指定长度,部分初始化
	fmt.Println("nums2: ",nums2)

	nums3 := [...]int{4,5,6} //不设置长度,根据初始化长度推断
	fmt.Println("nums3: ",nums3)

	nums4 := [5]int{}; // 只设置长度,元素为默认值0
	nums4[1] = 2 
	fmt.Println("nums4: ",nums4)

	// ------------ 切片 ---------------//
	/*
	切片是灵活的,可以动态扩容
	当添加元素超过切片容量,就会重新划一个容量为原来两倍的数组,指针指向这个数组
	*/
	s1 := []int{0,1,2,3} //根据字面量创建,长度和容量相等
	fmt.Println(len(s1),cap(s1))
	fmt.Println(s1)

	s2 := make([]int,5,10) //make函数,指定长度和容量
	fmt.Println(len(s2),cap(s2))
	fmt.Println(s2)

	// 修改元素 和追加元素
	s2[2] = 3
	s2 = append(s2, 6)
	fmt.Println(s2)

	//测试 动态扩容
	s3 := make([]int,0,2)
	for i := 1 ; i< 10; i++{
		s3 = append(s3, i)
		fmt.Printf("the len is %d,the cap is %d\n",len(s3),cap(s3))
	}

}

标签:切片,int,s2,fmt,golang,s3,数组,Println
From: https://www.cnblogs.com/LIang2003/p/18534528

相关文章

  • LeetCode 2535[数组元素和与数字和的绝对差值]
    题目链接LeetCode2535[数组元素和与数字和的绝对差值]详情实例提示题解思路遍历容器,依次求出数字和与元素和,然后求差值:通过getSun函数,求取元素的数字和 getSun函数的实现:  将其对10取余操作,获取的余数即为当前位的数字  然后再除以10,继续对其进行10的取......
  • 洛谷题单指南-二叉堆与树状数组-P2827 [NOIP2016 提高组] 蚯蚓
    原题链接:https://www.luogu.com.cn/problem/P2827题意解读:初始n个数,每次取最大值x,根据u/v分成两部分:x*u/v,x-x*u/v,然后其余数都增加q,整个过程重复m次。输出有两类数据:第t,2t,3t...次取出的最大值;最后剩余的数第t,2t,3t...个,从大到小输出。解题思路:直观上,通过模拟法可以实......
  • c语言二维数组
    一、创建二维数组并初始化在c语言中二维数组可以在声明时直接初始化。#include<stdio.h>intmain(){//创建一个3x3的二维数组并初始化intmatrix[3][3]={{1,2,3},{4,5,6},{7,8,9}};return0;}二、访问二......
  • c语言一维数组
    一维数组数组的目的主要是为了解决在编程中需要存储和处理多个相同类型数据的问题。#include<stdio.h>intmain(){intarr[5]={1,2,3,4,5};//定义一个一维数组for(inti=0;i<5;i++){//使用for循环遍历数组printf("%d",arr[i]);//打......
  • 线段树与树状数组
    线段树与树状数组都是十分经典的数据结构,其实能用树状数组解决的问题也都能用线段树解决,但线段树相比于树状数组常数较大。单点修改区间查询线段树做法,树状数组做法,其实单纯实现这个还是用树状数组较好(毕竟常数小还好写)区间修改区间查询只有区间加树状数组做法,线段树做法既......
  • 力扣中等难度热题——长度为K的子数组的能量值
    目录题目链接:3255.长度为K的子数组的能量值II-力扣(LeetCode)题目描述示例提示:解法一:通过连续上升的长度判断Java写法:C++写法: 相比与Java写法的差别运行时间时间复杂度和空间复杂度时间复杂度:空间复杂度:解法二:双指针+极限优化优化前Java写法:优化前运行时......
  • 实用GIS工具箱对比:GISBox等倾斜摄影切片软件的优缺点解析
    在地理信息系统(GIS)领域,强大的工具可以帮助用户更高效地进行数据处理、分析和可视化。本文介绍了五款实用的GIS工具箱——GISBox、QGIS、ArcGISOnline、GlobalMapper、MapTiler。它们各自在数据编辑、格式转换、地图发布和切片等方面具有独特的功能,能够满足从地理数据管理到复杂......
  • golang oom监控实现
    packagemainimport( "bytes" "fmt" "io/ioutil" "os" "golang.org/x/sys/unix")funcmain(){ varevents[128]unix.EpollEvent varbuf[8]byte //unix.EFD_CLOEXEC确保在exec调用时关闭efd,它可以防止文件描述符在不需......
  • 后缀数组
    学了这个东西字符串水平下降一万倍,之前敢拿hash草的题现在不敢了。后缀数组板题后缀数组可以把字符串的所有后缀存起来,然后干各种奇怪的事情。现在给你一个字符串banana,给他的后缀A,NA,ANA,NANA,ANANA,BANANA跑一个后缀的trie。然后把字典序小的字母排在左边,给每个后缀对......
  • pyspark 解析kafka数组结构数据
    frompyspark.sql.functionsimportget_json_object,col,from_unixtime,instr,length,regexp_replace,explode,from_jsonfrompyspark.sql.typesimport*#定义数组结构schema=ArrayType(StructType([StructField("home",StringType()),S......