[解決済み] スライスを変数入力として渡すには?
2022-09-20 21:55:51
質問
私はある関数
func more(... t)
. 引数のリストを生成するためにスライスを使用することが可能かどうか、疑問に思っています。
...
.
私は以下のプログラムを解こうとしています。基本的には、文字列としてコマンドを受け取る通常のシェルを模倣することです。 コマンド 関数は、引数の"リスト"を必要とし、私はそのようなリストに文字列を変換することができますどのように表示されません。
import "os/exec"
import "strings"
func main(){
plainCommand := "echo hello world"
sliceA := strings.Fields(plainCommand)
cmd := exec.Command(sliceA)
}
どのように解決するのですか?
<ブロッククオートfが最終パラメータ型...Tを持つvariadicである場合、関数内では 関数内では、引数は[]T型のパラメータと同じです。fの各呼び出しで fの各呼び出しで、最終パラメータに渡される引数は新しい 型[]Tのスライスで,その連続する要素が実際の引数です. その連続する要素は実際の引数であり、それらはすべて型Tに代入可能でなければなりません。スライスの長さは したがって、スライスの長さは最終パラメータに束縛される引数の数であり 各コールサイトごとに異なる場合があります。
<ブロッククオート
func Command(name string, arg ...string) *Cmd
コマンドは、指定された引数で指定されたプログラムを実行するためのCmd構造体を返す。 を返す。
返されたCmdのArgsフィールドは、コマンド名とargの要素から構成されます。 の後にargの要素が続くので、argにコマンド名そのものを含んではいけません。 を含んではいけません。例えば、Command("echo", "hello")のようになります。
例えば
package main
import (
"fmt"
"os/exec"
)
func main() {
name := "echo"
args := []string{"hello", "world"}
cmd := exec.Command(name, args...)
out, err := cmd.Output()
if err != nil {
fmt.Println(err)
}
fmt.Println(string(out))
}
出力します。
hello world
関連
-
[解決済み] Goでマップにキーが含まれているかどうかを確認するには?
-
[解決済み] goで文字列の連結を効率的に行う方法
-
[解決済み] ゼロ終端のバイト配列を文字列に変換するにはどうすればよいですか?
-
[解決済み] コンソールで標準入力から読み込むにはどうすればよいですか?
-
[解決済み] スライスのメソッドを含む
-
[解決済み】マップからキーのスライスを取得する
-
[解決済み] サーバーでSSLが有効になっていない
-
[解決済み] response.Bodyを閉じないとどうなりますか?
-
[解決済み] Goプロジェクトの賢明なレイアウト方法とは [終了しました]。
-
[解決済み] マップから構造体への変換
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] サーバーでSSLが有効になっていない
-
[解決済み] time.Sleepを使わずにすべてのゴルーチンが終了するのを待つには?
-
[解決済み] スライスを宣言するのか、スライスを作るのか?
-
[解決済み] オブジェクトのプロパティを二重引用符で囲んで使用するには?
-
[解決済み] ログをファイルに書き出す方法
-
[解決済み] interface{}をint型に変換する
-
[解決済み] reflectを使用して、構造体フィールドの値を設定するにはどうすればよいですか?
-
[解決済み] Goで関数の名前を取得するには?
-
[解決済み] golangでは、マップから値のスライスを取得する良い方法はありますか?
-
[解決済み] ゴルーチンのスタックトレースをダンプするには?