后端开发总结:go语言的知识点
Posted 尚墨1111
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了后端开发总结:go语言的知识点相关的知识,希望对你有一定的参考价值。
go语言知识点
1 append 列表
append() 切片需要增加 ...
var a []inta = append(a, 1) // 追加1个元素
a = append(a, 1, 2, 3) // 追加多个元素
a = append(a, []int1,2,3...) // 追加切片,
2 如何打印指针结构体的值
为结构体实现 String() 方法
type DataAndDetail struct
Data *entity.Data
DataDetail *entity.DataDetail
func (t *DataAndDetail) String() string
return fmt.Sprintf("Data:%v,DataDetail:%v", t.Data, t.DataDetail)
# test:
DataAggregate := &aggre.DataAndDetail
Data: data,
DataDetail: detail,
fmt.Printf("aggre:%v", DataAggregate)
结果类似:
3 * 和 & 的用法
*
是取出地址中的值,*string 则代表指针类型的 , & 表示变量对应的地址
&entity.State
,表示创建一个结构体,并把地址取出,相当于结构体指针- 参数类型是 * 的指针类型,那么在传递值的时候就需要传递 &
// 定义参数指针类型
func AddState(c *gin.Context, options *entity.AddStateOptions)
// 使用的时候就需要传递 &这种类型
state.AddState(c, &req.AddStateOptions)
new
创建和 &State
结构体创建的区别,最好不用new,直接用指针方法
a:=new(user) // 创建的是对象指针
b:=&user // 创建的是指针类型
c:=user // 创建的是对象本身
以上是关于后端开发总结:go语言的知识点的主要内容,如果未能解决你的问题,请参考以下文章