go的引用类型

本文介绍了Go语言中指针、字典、切片及对象等基础数据结构的概念与使用方法,包括声明、赋值、查找及删除等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

指针(pointer)

  • 概念:指针用于存放另一个变量的内存地址,它作为形参传递,可以提高程序的执行效率。
  • 声明:var P1 *int
  • 赋值:a := 10   P1 = &a
  • 取值:fmt.Printf(“变量值: d%”, *P1)

字典(map)

  • 概念:也是基于数组的上层封装,键值对集合,键名不能重复。
  • 声明:

方式1var A = map[string] Developer           /* 未创建底层数组 */

方式2B := map[string] Developer{}              /* 创建了底层数组 */

方式3C := make(map[string]Developer)     /* 创建了底层数组 */

  • 查找:value , ok  :=  M[“003”]                    /*  ok 用来判断该键值是否存在  */
  • 删除:delete(M2,”num1”)

切片(slice)

  • 概念:封装在数组之上,操作更加灵活,作为函数值传递比数组快;长度动态的,可设定容量。
  • 声明

方式1var A []int                             /* 声明*/

方式2B :=  []int{1,2,3,4,5}              /* 声明并初始化*/

方式3C :=  make ([]int,5,10)       /* make用于实例化切片,集合,通道,new实例化对象 */

  • 取值:(口诀:从0开始,前不包括,后包括)

C[,3]                                       /* 1,2,3 */

C[2,]                                       /* 3,4,5 */

C[1,2]                                     /*  2 */

  • 追加:A = append(A,1)                  /* append会自动开辟内存空间 */
  • 复制:copy(C,B)                             /* B复制给C */

对象(struct)

type Actor struct {

           name string

           style  string 

}

接口(interface)

type Act interface {

           sing() 

           dance()          

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值