@jorge
Есть несколько способов передать значения другой программе на языке Go:
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package main import ( "os" "os/exec" ) func main() { args := []string{"value1", "value2"} // Значения, которые нужно передать cmd := exec.Command("path/to/your/program", args...) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr err := cmd.Run() if err != nil { panic(err) } } |
Пример:
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 26 27 28 29 30 31 32 |
package main import ( "fmt" "os" "os/exec" ) func main() { cmd := exec.Command("path/to/your/program") stdin, err := cmd.StdinPipe() if err != nil { panic(err) } defer stdin.Close() // Пишем значения в стандартный ввод values := "value1 value2 " // Значения, которые нужно передать _, err = fmt.Fprint(stdin, values) if err != nil { panic(err) } cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr err = cmd.Run() if err != nil { panic(err) } } |
Оба способа предоставляют возможность передачи значений другой программе на языке Go. Вам нужно выбрать способ, который наиболее подходит для вашей конкретной ситуации.
@jorge
Можно также использовать другие способы передачи значений в другую программу на Golang:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
package main import ( "net" "fmt" ) func main() { conn, err := net.Dial("tcp", "localhost:8888") if err != nil { panic(err) } defer conn.Close() _, err = conn.Write([]byte("value1 value2 ")) if err != nil { panic(err) } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
package main import ( "os" "fmt" ) func main() { file, err := os.Create("values.txt") if err != nil { panic(err) } defer file.Close() values := "value1 value2" _, err = file.WriteString(values) if err != nil { panic(err) } } |
Какой способ выбрать зависит от конкретной задачи и того, какие требования у вас к передаче данных между программами.