package types import ( "fmt" "sig-pub/api/pb" ) type Exchange string var ( ExchangeSIG = Exchange(pb.Exchange_SIG.String()) ExchangeOKX = Exchange(pb.Exchange_OKX.String()) // okx ExchangeBINANCE = Exchange(pb.Exchange_BINANCE.String()) // 币安 ) func (ex Exchange) Exchange2PB() (pb.Exchange, error) { switch ex { case ExchangeOKX: return pb.Exchange_OKX, nil case ExchangeBINANCE: return pb.Exchange_BINANCE, nil default: return pb.Exchange_SIG, fmt.Errorf("unknown exchange: %v", ex) } } func ExchangePBParse(pbex pb.Exchange) (Exchange, bool) { switch pbex { case pb.Exchange_OKX: return ExchangeOKX, true case pb.Exchange_BINANCE: return ExchangeBINANCE, true default: return ExchangeSIG, false } }