• Go Example--切片


    package main
    
    import (
    	"fmt"
    )
    
    func main()  {
    	//make来初始化一个切片,必须指名切片的长度
    	s:= make([]string, 3)
    	fmt.Println("emp:",s)
    
    	s[0] = "a"
    	s[1] = "b"
    	s[2] = "c"
    	fmt.Println("set:",s)
    	fmt.Println("get:",s[2])
    	fmt.Println("len:",len(s))
    
    	//append函数向切片尾部添加值,切片长度不够时,会重新申请内存给s
    	s = append(s, "d")
    	s = append(s,"e","f")
    	fmt.Println("apd:",s)
    
    	c:=make([]string,len(s))
    	//copy是在内存中复制s到c
    	copy(c,s)
    	fmt.Println("cpy:",c)
    
    	//l和s均指向相同的底层数组
    	l:=s[2:5]
    	fmt.Println("sl1:",l)
    
    	l=s[:5]
    	fmt.Println("sl1:",l)
    	l=s[2:]
    	fmt.Println("sl1:",l)
    
    	t:=[]string{"g","h","i"}
    	fmt.Println("dcl:",t)
    
    	//二维切片,
    	twoD := make([][]int,3)
    	for i:=0; i<3;i++  {
    		innerLen := i+1;
    		//内部需要重新申请内存
    		twoD[i] = make([]int,innerLen)
    		for j:=0;j<innerLen ;j++  {
    			twoD[i][j] =i+j
    		}
    	}
    	fmt.Println("2d: ",twoD)
    }
    
  • 相关阅读:
    A
    hdu 2108 Shape of HDU(判定是不是凸多边形)
    F
    J
    扩展欧几里得
    G
    A
    D
    E
    H
  • 原文地址:https://www.cnblogs.com/promenader/p/9790838.html
Copyright © 2020-2023  润新知