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]...
    
    永远不要高估自己
  • 相关阅读:
    Asp.Net Web API 2第八课——Web API 2中的属性路由
    Asp.Net Web API 2第七课——Web API异常处理
    Asp.Net Web API 2第六课——Web API路由和动作选择
    Asp.Net Web API 2第五课——Web API路由
    开始学习python
    BMI 小程序 购物车
    深浅copy 文件操作
    字典 dict 集合set
    基本数据类型 (str,int,bool,tuple,)
    python 运算符
  • 原文地址:https://www.cnblogs.com/liqiangwei/p/14503141.html
Copyright © 2011-2022 走看看