gpt4 book ai didi

go - 跨多个包共享结构

转载 作者:IT王子 更新时间:2023-10-29 01:49:19 37 4
gpt4 key购买 nike

假设我们有一个客户端服务器场景,在这种情况下,服务器和客户端都使用公共(public)消息结构相互通信。所以,使用 struct 来定义消息结构,就像这样

type Message struct {
SenderId int
Content string
AuthCode string
}

现在为了避免重复自己并在客户端包和服务器包中都有一个 Message 结构,解决这个问题的 GoWay 是什么?

谢谢!

最佳答案

共有三种不同的方法:

  1. 将服务器和客户端放在同一个包中,就像 http 包。
  2. 创建单独的包(例如 messagecommontypes,...)并在其中添加您的共享结构,就像 etcd
  3. 将它们放入server 包中并将其导入client 包中。例如,x/net/websocket 包导入 net/http

这真的是个人品味问题。

关于go - 跨多个包共享结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30414871/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com