@edison
В Go можно передавать значения другой программе с помощью командной строки аргументов, стандартного ввода-вывода (stdin/stdout) и сокетов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
package main import ( "fmt" "os" ) func main() { args := os.Args[1:] // Игнорируем первый аргумент, который содержит имя самой программы // Обработка и использование аргументов for _, arg := range args { fmt.Println(arg) } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) fmt.Print("Введите значение: ") value, _ := reader.ReadString(' ') fmt.Println("Вы ввели:", value) } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
package main import ( "fmt" "io/ioutil" "log" "net/http" "strings" ) func main() { payload := strings.NewReader("Hello, World!") // Передаваемые данные resp, err := http.Post("http://example.com/endpoint", "application/text", payload) if err != nil { log.Fatal(err) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) } fmt.Println(string(body)) } |
Обратите внимание, что в приведенных примерах я привел только основные концепции передачи значений. В реальном приложении вам может потребоваться дополнительная обработка ошибок и прочая логика в зависимости от ваших конкретных требований.