> For the complete documentation index, see [llms.txt](https://docs.tarlanpayments.kz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tarlanpayments.kz/az/agws/zh-ie-zhauaptaryny-rylymy/olta-bany-alyptastyru/golang-ta-olta-bany-alyptastyru-mysaly.md).

# Golang-та қолтаңбаны қалыптастыру мысалы:

```go
package main

import (
   "crypto/sha256"
   "encoding/base64"
   "encoding/json"
//Сауал денесі сауалға байланысты өзгереді

type Request struct {
   Agent       string `json:"agent"`
   Project     string `json:"project"`
   ServiceCode string `json:"service_code"`
}
//Мысал үшін secret 12345
const secret = "12345"

func main() {
   request := Request{
      Agent:       "tarlan",
      Project:     "mobile",
      ServiceCode: "101",
   }

   notSortedJson, err := json.Marshal(&request)
   if err != nil {
      panic(err)
   }

   var notSortedMap map[string]interface{}

   if err = json.Unmarshal(notSortedJson, &notSortedMap); err != nil {
      panic(err)
   }

   sortedJson, err := json.Marshal(&notSortedMap)
   if err != nil {
      panic(err)
   }

   signData := base64.StdEncoding.EncodeToString(sortedJson)

   sign := sha256.Sum256([]byte(signData + secret))

   fmt.Printf("Sign: %x", sign)
}
```
