zoukankan      html  css  js  c++  java
  • Go03基础

    1.map

    map就是映射,俗称字典
    1.定义  var 变量名 map[key]val  = make(map[key]val)
    ex:  var dict map[string]string  = make(map[string]string)
    增:   dict["name"] = "lqw"
    查:    dict["name"] 
    //一个参数去接,res :=dict[key]   存在就返回 ,不存在就返回val的零值,此时定义的val是string,key不存在,则返回字符串的零值空,假如val是int,则返回int的零值。其他的引用类型是nil。
    //两个参数去接 res,b := dict[key]  b返回的是 bool,存在为true,不存在就是false,res同上
    改: dict["name"] = "lqw"
    删:  delete(dict,key) //ex:delete(dict,"name")		key不存在也不会报错
    map长度: len()
    定义并初始化:
    	var dict map[string]int = map[string]int{"lqw666666":666}
    循环:
    	for key,val:= range dict {
    		fmt.Printf("key:%v,val:%v
    ",key,val)
    	} //key是 map的key,val是map的val   map是无序的,python3.5以后是有序的
    2.定义复杂的map:
    	2.1 map套map
    	var dict map[string]map[string]string = make(map[string]map[string]string) //map[string]map[string]string{"lqw":{"lqw":"lqw"}}
    	if v:=dict["name"];v==nil{
    		dict["name"]=make(map[string]string)
    		dict["name"]["lqw"] = "lqw"
    	}
    	dict["name"]["age"] = "18"
    	2.2 val为函数
    		var f_set map[string]func()int = map[string]func()int{"lqw": func()int {
    		fmt.Println("lqwnb")
             f_set["name"] = func() int {
    		return 18
    	}
    	res := f_set["name"]
    	k:=res()
       大胆的尝试就行了
    3.相等性
           只能和nil比较
    4.是应用类型
           传入函数,会改变,和python一样
    

    2.指针

    -&放在变量前,表示取该变量的地址
    -* 放在类型前,表示指向该类型的指针(变量定义,指定类型时才会用到) *[3]int  和 [3]*int
    -* 放在变量前,表示解引用(取出指针指向的具体的值)
    
    func change(a *int){
        (*p)=(*p)+1 //(*p) 表示取地址的值
    }
    func main(){
        var a = 1
        change(&a)
        print(a)   //2   
    }
    

    3.可变长参数,只能在最后

    a ...string
    [1,2,3]...
    
    永远不要高估自己
  • 相关阅读:
    C# 根据主窗体的位置弹窗信息窗体一直保持在主窗体中间
    c# winForm父子窗口 通过委托进行信息传递
    使用devexpress插件 消除运行时弹窗
    C# 获取当前时间戳
    WinForm实现Loading等待界面
    转载 C#设置控件 Enabled 为 false 时背景色不改变
    DEV gridView中加入加载条显示进度,必须为圆角型
    winfrom 圆角化
    列表元素的反转、排序——python
    使用for循环和while循环打印九九乘法表——python
  • 原文地址:https://www.cnblogs.com/liqiangwei/p/14503141.html
Copyright © 2011-2022 走看看