结构体使用与注意事项的面试题

未匹配的标注

1. 结构体可以作为函数参数和返回值。如果结构体很大,你怎么使用这个结构体?

最好通过指针传递,以避免复制整个结构体。

2. 结构体命名有哪些注意事项?

首先是,

  1. 驼峰命名,不要用下划线
  2. 大小写注意权限
  3. tag,可以写json字段名,以及验证规则。

其次,
嵌入时候,

  1. 嵌入指针类型字段,注意指针是否为 nil,否则可能会出现空指针异常。
  2. 当结构体的字段包含引用类型时,需要在初始化时为引用类型分配内存空间,避免出现空指针异常

再就是,自定义字段。
如果结构体中包含自定义类型的字段,需要实现对应的接口方法,例如 Stringer 接口中的 String() 方法,以便在 fmt 包中使用格式化输出时能够正确地显示。

工作经验ps:这个可以用作与自定义json处理数据。比如我们返回int默认为0,有时候前端需要判断一个空。我们就自定义处理这个字段,如果是0,返回一个‘‘ 回去。

最后提两个 并发,死锁要点。(加工资就靠这个了,兄弟!)

  1. 在使用结构体时,需要特别注意并发安全性,避免出现竞态条件和死锁等问题。
  2. 最好不要在结构体中定义 pointer receiver 的方法,以避免使用者对结构体进行无意中的修改。如果需要对结构体进行修改,可以使用 value receiver 的方法。

如果需要看详细文档说明,请查阅。

2.1. 结构体使用与注意事项《培训-golang-基础课件(一年一更)》

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~