学习Golang Type关键字如何使用

最简单的一句话就是:Type用于创建自定义类型,可以是结构体、接口、函数类型或方法集合
只要是类型就可以放到结构体里面当属性 , 这个在结构体的组合里面很有用

1.创建自定义结构体

用于构建一个结构,我们看待type的时候需要把它单独看待,他是修饰 name struct的.被type

type animal struct{
  name string
  age  int
}

当然我们也可以用var声明结构体,声明就相当于去内存里面要了一块区域来存放这个数据,这是一个匿名的结构体

var animal struct{
	name string
	age  int
}

一个构建和定义就看出了 type的关键之处

2.创建自定义函数

type f fun()

3.创建自定义接口

type i interface{
}

4.组合成新的结构体

由于只要是type"创建"出来的都可以放到结构体里面,

type self_def struct{
//匿名声明
 i
 f
}

5.重定义为新的结构体

  1. 可以定义基本数据类型
// 这里我们用type 来修饰了
// 那么name就可以当成string类型来使用了
type name string
var name := "Hello World!"

这个时候你有个想法,想扩展下String类型,比如自己写个formate,自己定义个string类型能调用的函数,这个时候 通过type就能实现了,是不是有点类似于Java中的extends(A extends String 这只是举个例子,Java中String是不能再有子类了)

func(n name) len() int {
	return len(n)
}
  1. 可以定义包装数据类型,双重定义
type copyName name

扩展

在总结的过程中,我发现如果我要声明并初始化一个一次性的结构体,应该怎么去做
正常我需要这样

type struct person{
name string
age int 
}
var _test = &person{
 name = "rambo"
 age = 18
}

在某些情况下我就用一次,这么声明感觉有点多余,所以倒腾(虽然存在这种写法,但是我不知道)出了个匿名的

var _test2 = struct {
name string
age int
}{
 name : "rambo"
 age : 18
}

类比学习在有些使用会看到**fun{}()**所以可以一并记住匿名函数和匿名结构体

2024 2 22 第一次创作 肯定有不完善的地方后续改

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值