2021.04.15 Go语言学习

2021.04.15 Go语言学习

切片

声明切片类型的基本语法如下:

var name []T
//name:表示变量名
//T:表示切片中的元素类型
func main() {
	// 声明切片类型
	var a []string              //声明一个字符串切片
	var b = []int{}             //声明一个整型切片并初始化
	var c = []bool{false, true} //声明一个布尔切片并初始化
	var d = []bool{false, true} //声明一个布尔切片并初始化
	fmt.Println(a)              //[]
	fmt.Println(b)              //[]
	fmt.Println(c)              //[false true]
	fmt.Println(a == nil)       //true
	fmt.Println(b == nil)       //false
	fmt.Println(c == nil)       //false
	// fmt.Println(c == d)   //切片是引用类型,不支持直接比较,只能和nil比较
}

https://www.liwenzhou.com/posts/Go/06_slice/

跟着DaLao学就好!

append()方法为切片添加元素

func main(){
	var s []int
	s = append(s, 1)        // [1]
	s = append(s, 2, 3, 4)  // [1 2 3 4]
	s2 := []int{5, 6, 7}  
	s = append(s, s2...)    // [1 2 3 4 5 6 7]
}

学习记录

package main

import "fmt"

func main() {

	//且切片的定义

	var s1 []int  //定义了一个存放int类型元素的切片
	var s2 []string //定义了一个存放string类型元素的切片

	fmt.Println(s1,s2)

	//初始化
	s1 = []int{1,2,3}
	s2 = []string{"a","b","c"}
	fmt.Println(s1,s2)


	//切片的长度和容量

	fmt.Printf("len(s1):%d cap(s1):%d\n",s1,s1)
	fmt.Printf("len(s2):%d cap(s2):%d\n",s2,s2)
	//2.由数组得到切片
	a1 := [...]int{1,23,5,7,2,4,46,7,7}
	s3 := a1[0:4]	//相当于从a1的数组中从第0个开始到第四个结束但是不包括第四个(左闭右开)
	s4 := a1[2:]
	s5 := a1[:]
	fmt.Println(s3)
	fmt.Println(s4)//从第二个以后开始开始不包括第二个
	fmt.Println(s5)//等于a1
	fmt.Printf("len(s3):%d cap(s3):%d\n",len(s4),len(s4))

	//切片在切片
	//切片是引用类型,都指向底层的一个数组
	s8 := s4[:3]
	fmt.Println(s8)
	fmt.Printf("len(s8):%d cap(s8):%d\n",len(s8),len(s8))








}

package main

import "fmt"

//make函数创造切片
func main() {

	s1 := make([]int,5,10)  //有两个参数,第一个是参数类型,第二个是参数长度,第三个参数是容量

	fmt.Printf("s1=%v len(s1)=%d cap(s1)=%d\n",s1,len(s1),len(s1))


}

练习

package main

import (
   "fmt"
   "sort"
)

func main() {


   //数组遍历0~9
   //var a = make([]string, 5, 10)
   //for i := 0; i < 10; i++ {
   //
   // a = append(a,fmt.Sprintf("%v",i))
   //}
   //fmt.Println(a)

   //sort包实现三种排序
   //https://www.jb51.net/article/127463.htm




      var a = [...]int{3, 7, 8, 9, 1}
      sort.Ints(a[:])
      fmt.Println(a)
   



}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值