Go数据类型记录demo

package main

import "fmt"

//数组
func demo1() {
	var arr []int
	arr = []int{1, 2, 3}
	fmt.Println(arr)

	var aa = new([]int)
	fmt.Println(*aa)

	var balance = [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
	fmt.Println(balance)
}

//多维数组
func demo2() {
	var aa [][][]int
	aa = [][][]int{
		{
			{1, 2, 3},
			{1, 2, 3},
			{1, 2, 3},
			{1, 2, 3},
			{1, 2, 3},
		},
		{
			{},
		},
		{
			{1, 2, 3},
		},
	}
	fmt.Println(aa)

}

//切片
func demo3() {
	var aa []int
	fmt.Println(aa)

	var bb = make([]int, 10, 20)
	fmt.Println(bb)

	var cc []int = make([]int, 10)
	fmt.Println(cc)

	//数组切片
	var dd = []int{1, 2, 3, 4, 5}
	var ee = dd[0:4:5]  //第几个开始到第几个结束,容量有大多
	fmt.Println(ee)
	fmt.Println(len(ee))  //长度
	fmt.Println(cap(ee))  //容量

	fmt.Println("切片操作")


	var gg = []int{1,2,3,4}
	fmt.Println(gg)
	gg = append(gg,0,0,0,0) //追加
	fmt.Println(gg)

	hh:=make([]int,len(gg),cap(gg)*2)
	copy(hh,gg)
	fmt.Println(hh)
	fmt.Println(cap(hh))


}


//map 无序的键值对
func demo4()  {
	var aa map[string]string
	aa = map[string]string{"b":"1","a":"2"}
	aa["x"]="3"
	fmt.Println(aa)
	//for k,v :=range aa{
	//	fmt.Println(k,v)
	//}

	//delete
	delete(aa,"a")
	fmt.Println(aa)
}


//结构体
func demo5()  {
	type aa struct {
		a int
		b string
		c *float64
	}

	var bb = 3.0
	var name  = aa{1,"2",&bb}
	fmt.Println(name)
}

//接口
type Iphone interface {
	call()
}
type ipad struct {
	size int
	clolr string
}

func(tmp ipad) call() {
	fmt.Println("call+",tmp.size)
}
func demo6()  {
	var home Iphone
	home = Iphone(ipad{10,"red"})
	//home = ipad{10,"red"}
	home.call()
}


func main() {
	demo6()
}
伍先生
  • 职业: 程序员,产品
  • 码龄: 8.6
  • 技能: PHP Go 前端
  • 微信: JwCode
  • 公众号/小程序: 渐悟分享