zoukankan      html  css  js  c++  java
  • go语言之make

    package main
    
    import "fmt"
    
    //探索make的用法
    //make函数是Go的内置函数,它的作用是为slice、map或chan初始化并返回引用。make仅仅用于创建slice、map和channel,并返回它们的实例。
    func main() {
    	/*------------------------------------------------数组 slice------------------------------------------------------*/
    	//数组切片 定义length 不定义slice
    	arr := make([]int, 2)
    	fmt.Println(arr)
    	arr = []int{1, 2}
    	fmt.Println(arr)
    	//添加元素
    	arr = append(arr, 1)
    	fmt.Println(arr)
    	//数组切片 定义length 定义slice
    	arr1 := make([]int, 2, 2)
    	fmt.Println(arr1)
    	arr1 = []int{1, 2}
    	fmt.Println(arr1)
    	//添加元素
    	arr1 = append(arr1, 1)
    	fmt.Println(arr1)
    	/*------------------------------------------------map 只需要两个参数------------------------------------------------*/
    	//如果不初始化 map,那么就会创建一个 nil map。nil map 不能用来存放键值对
    	//make(map[keyType] valueType, size)
    	maps := make(map[string]int, 2)
    	fmt.Println(maps)
    	//添加元素
    	maps["maps"] = 1
    	fmt.Println(maps)
    	fmt.Println(maps["maps"])
    	/*------------------------------------------------channel 只需要两个参数--------------------------------------------*/
    	sendChannel := make(chan int, 3)          //可发可接int的chan
    	receiveChannel := make(chan<- float64, 3) //只能发送float64的chan
    
    	go send(sendChannel)
    	go receive(receiveChannel)
    
    	select {
    	case <-sendChannel:
    		v := <-sendChannel
    		fmt.Println("v:",v)
    	default:
    
    	}
    	//v := <-sendChannel
    
    	fmt.Println(receiveChannel)
    }
    
    func send(channel <-chan int) int {
    	v := <- channel
    	return v
    }
    
    func receive(channel chan<- float64) {
    	channel <- 1.2
    }
    

      

    你不能把坏习惯扔出窗外 但你可以一步步赶下电梯
  • 相关阅读:
    《杀死比尔 卷1》(Kill Bill: Volume 1)思路.未剪切全彩版.720re.DTS[HDTVRE]
    IronPython 1.0 Release Candidate 2
    Microsoft® Visual Studio® .NET™ 2003 Service Pack 1
    Vista Transformation Pack 5.0 发布
    捡到一小猫
    《魔比斯环》(Thru The Moebius Strip)[DVDScr]
    用户控件 分类列表导航栏
    MsChart<5> 累计柱状图 分类统计
    二进制流上传图片,预览,读取显示
    Ajax无刷新数据绑定
  • 原文地址:https://www.cnblogs.com/Ychao/p/14652806.html
Copyright © 2011-2022 走看看