package main
import (
"encoding/json"
"fmt"
)
type Data1 struct {
SomeField string `json:"some_field"`
}
type Data2 struct {
SomeOtherField string `json:"some_other_field"`
}
type DefaultResponse struct {
Code int `json:"code"`
Msg string `json:"msg"`
}
type Response1 struct {
DefaultResponse
Datas []Data1 `json:"datas"`
}
type Response2 struct {
DefaultResponse
Datas []Data2 `json:"datas"`
}
func main() {
json1 := `{"code":123,"msg":"test","datas":[{"some_field":"test field data"}]}`
json2 := `{"code":456,"msg":"test2","datas":[{"some_other_field":"other test field data"}]}`
var res1 Response1
var res2 Response2
json.Unmarshal([]byte(json1), &res1)
json.Unmarshal([]byte(json2), &res2)
fmt.Printf("%+v\n", res1)
fmt.Printf("%+v\n", res2)
}
package main
import (
"encoding/json"
"fmt"
)
type Codes1 struct {
Codes map[string][]Codes `json:"code"`
}
type Codes struct {
Filed1 int `json:"field1"`
Filed2 int `json:"field2"`
Filed3 string `json:"field3"`
}
const body = `[
{
"code": {
"Serv": [
{
"field1": 0,
"field2": 1399,
"field3": "Z",
"field4": 464,
"field5": "O",
"field6": 0,
"field7": "ASSFSW",
"field8": "Ser",
"field9": "",
"field10": "C",
"field11": {},
"field12": "",
"field13": 1,
"field14": "",
"field15": "Stop",
"field16": "A",
"field17": 0
}
],
"Serv1": [
{
"field1": 0,
"field2": 1400,
"field3": "",
"field4": 464,
"field5": "O",
"field6": 0,
"field7": "ASSFSWxxx",
"field8": "Ser",
"field9": "",
"field10": "C",
"field11": {
"field11.1": {
"field11.2": "N"
}
},
"field12": "",
"field13": 1,
"field14": "",
"field15": "Stop2",
"field16": "A",
"field17": 121
}
]
},
"Code.field1": "0000000000",
"Code.field2": "05AUTOSP"
}
]`
func main() {
var result []Codes1
err := json.Unmarshal([]byte(body), &result)
if err != nil {
panic(err)
}
fmt.Println(result)
}
package main
import (
"bufio"
"fmt"
"io"
"os"
"os/exec"
"strings"
)
func main() {
cfCmd := exec.Command("perl", "test.pl")
cfIn, err := cfCmd.StdinPipe()
if err != nil {
panic(err)
}
cfOut, err := cfCmd.StdoutPipe()
if err != nil {
panic(err)
}
err = cfCmd.Start()
if err != nil {
panic(err)
}
go ProcessStdin(cfIn)
ProcessStdout(cfOut)
err = cfCmd.Wait()
if err != nil {
panic(err)
}
}
func ProcessStdin(stdin io.WriteCloser) {
defer stdin.Close()
stdin.Write([]byte("some task"))
stdin.Write([]byte("some other task"))
// ......
}
func ProcessStdout(stdout io.ReadCloser) {
defer stdout.Close()
rd := bufio.NewReader(stdout)
for {
line, err := rd.ReadString('\n')
if err != nil {
fmt.Println("Error reading stdout:", err)
os.Exit(1)
}
line = strings.TrimSpace(line)
fmt.Println("Got line from a process:", line)
}
}
$| = 1;
log.Fatal(http.ListenAndServe("127.0.0.1:9098", r))
ports:
- "9097:8080"
log.Fatal(http.ListenAndServe(":8080", r))
type InlineKeyboard [][]InlineKeyboardButton
type InlineKeyboardButton struct {
Text string
Url string
CallbackData interface{}
}
fullData := ProductFullData{
Name: product.Name,
Code: price.Code,
InStock: product.InStock,
Price2: price.Price2,
Price3: price.Price2,
}
client_max_body_size 0;
proxy_http_version 1.1;
proxy_pass http://your.websocket.backend/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
ffmpeg -i image-%03d.png video.mp4