taubyte-go-sdk-constraints

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Go SDK Constraints

Go SDK 约束规范

Use this skill for any Go function implementation or debugging.
本技能适用于任何Go函数的实现或调试。

HTTP event constraints

HTTP事件约束

  • h.Headers().Get(key)
    returns
    (string, error)
    (two variables).
  • h.Query().Get(key)
    returns
    (string, error)
    (two variables).
  • Do not use
    h.URL().Query()...
    ; use
    h.Query().Get(...)
    .
  • h.Headers().Get(key)
    返回
    (string, error)
    (两个变量)。
  • h.Query().Get(key)
    返回
    (string, error)
    (两个变量)。
  • 请勿使用
    h.URL().Query()...
    ;请使用
    h.Query().Get(...)

PubSub event constraints

PubSub事件约束

  • ev.Data()
    returns
    ([]byte, error)
    (two variables).
  • ev.Channel()
    returns
    (*ChannelObject, error)
    (two variables).
  • ev.Data()
    返回
    ([]byte, error)
    (两个变量)。
  • ev.Channel()
    返回
    (*ChannelObject, error)
    (两个变量)。

Storage constraints

存储约束

  • Retrieve storage via
    storage.Get(match)
    or
    storage.New(match)
    .
  • Write with
    stor.File(fileName).Add(data, overwrite)
    .
  • Read with:
    • file := stor.File(fileName)
    • sf, err := file.GetFile()
    • then
      sf.Read(...)
      or
      io.Copy(...)
      and
      sf.Close()
      .
  • Do not use invalid patterns like
    stor.New().File(...)
    .
  • 通过
    storage.Get(match)
    storage.New(match)
    获取存储实例。
  • 使用
    stor.File(fileName).Add(data, overwrite)
    进行写入操作。
  • 读取操作步骤:
    • file := stor.File(fileName)
    • sf, err := file.GetFile()
    • 随后使用
      sf.Read(...)
      io.Copy(...)
      ,并调用
      sf.Close()
  • 请勿使用
    stor.New().File(...)
    这类无效写法。

Quick patterns

快速示例代码

go
name, _ := h.Headers().Get("X-File-Name")
name, _ = h.Query().Get("name")

data, err := ev.Data()
if err != nil { return 1 }

_, err = stor.File("filename.txt").Add(body, true)
file := stor.File("filename.txt")
sf, err := file.GetFile()
defer sf.Close()
go
name, _ := h.Headers().Get("X-File-Name")
name, _ = h.Query().Get("name")

data, err := ev.Data()
if err != nil { return 1 }

_, err = stor.File("filename.txt").Add(body, true)
file := stor.File("filename.txt")
sf, err := file.GetFile()
defer sf.Close()