go mod init github.com/yourname/yourproject
package goproject
, хотя должен быть package utils
import github.com/yourname/yourproject/utils""
package main
import (
"encoding/json"
"fmt"
)
type testStruct struct {
ID string `json:"id"`
Type string `json:"type"`
Value json.RawMessage `json:"value,omitempty"`
}
func main() {
var msg testStruct
json.Unmarshal([]byte(`{"type": "test", "id": "testID", "value": 123.00}`), &msg)
output, _ := json.Marshal(msg)
fmt.Println(string(output))
}
func main() {
cmd := exec.Command("ffmpeg", "-i", "input.ogg", "output.mp3")
res, err := cmd.CombinedOutput()
if err != nil {
fmt.Println(string(res))
fmt.Println("error executing command:", err)
os.Exit(1)
}
}
text := `Мы оба влюблены в один и тот же сон,
Нас вынесла волна — и укатилась с шумом.
Ты ль жарче влюблена, иль я страстней влюблен,
Какое дело нам! Мы не поверим думам! 15 июня 1903
Информация сайта: https://domain.tdl/?name=asdasdasd
`
parts := strings.Split(text, "Информация сайта: ")
fmt.Println(parts[0])
fmt.Println(parts[1])
re := regexp.MustCompile(`(?s)^(.+)Информация сайта: (.+)$`)
matches := re.FindStringSubmatch(text)
fmt.Println(matches[1])
fmt.Println(matches[2])
var name string
var weight int64
err := conn.QueryRow("select name, weight from widgets where id=$1", 42).Scan(&name, &weight)
if err != nil {
return err
}
$ go run main.go
hello
Hi
John
hello
John
Paul
John
^D
2 hello
3 John
Ведь без инструментов, тут нужен iq минимум 150
package main
import "fmt"
type MyError struct {
Message string
}
func (e MyError) Error() string {
return e.Message
}
func (e MyError) Smth() {
}
type SomeInterface interface {
Smth()
}
func main() {
var err SomeInterface
err = MyError{"Something went wrong"}
// Проверяем, реализует ли err интерфейс error
if _, ok := err.(error); ok {
fmt.Println("err реализует интерфейс error")
} else {
fmt.Println("err НЕ реализует интерфейс error")
}
}