GO基础学习(二)

Torget:
  1. 指针
  2. 结构体
  3. 切片
   3.2 append()和copy()函数
  4. 范围range
  5. 集合
  6. 递归


Kno:
  1. 指针
   一个指针变量指向一个值的内存地址
    a = 10   变量
    ip = &a  地址指向
    *ip  地址中的数值  10
  
  2. 结构体
   概念:由一系列数据类型相同或不同构成的数据集合
   作用: 在结构体中可以为不同项定义不同的数据类型
    定义格式:
       type  def_name struct{
               member1  类型1
       member2  类型2
}
    
    访问结构体成员:  结构体.成员名


   3. 切片
     切片是获取数组的一部分
     组成: 指向底层数组的指针,len,cap三部分组成.
     创建切片格式: 
       方式一: var silce1 []type
       方式二: var slice2 []type = make([]type, len)

     创建并初始化切片(仅限函数内部使用):
        sl_name := []type{val1, val2, val3,....}


    3.2 append()和copy()函数
      append()追加,往切片内追加元素
      格式: 
        切片名 = append(切片名, 元素1,元素2,...)
有返回值


      copy()拷贝,将一个切片的内容全部拷贝到另外一个切片中
      格式:
         copy(副切片, 原切片)
无返回值


   4. 语言范围range
     range 用于循环迭代数组,切片,通道,或集合的元素,在数组和切片中返回
      元素的索引值,在集合中返回key-value对的key值.
     
   5. 集合map(类似字典)
       无序
     声明: var  map_name  map[key_type]val_type
     创建: map_name := make(map[key_type]val_type)
     遍历: for k, v := range map_name{
                           fmt.Printf("键%s--值%s", k,v)
                      }


     取valuez值: map_name["key"]


   6. delete()删除 集合中的元素
      格式:
       delete(map_name, "key")
       无返回值
   
   7. 递归函数
      调用自身

猜你喜欢

转载自blog.csdn.net/Mr_Xiaoxi/article/details/80355487