[解決済み] Go Array As Arguments のアンパッキングを解除する
2022-06-01 23:39:18
質問
PythonやRubyでは、配列を引数として解凍するためのsplat演算子(*)がありますね。Javascriptでは、.apply()関数があります。Go で関数の引数として配列/スライスをアンパックする方法はありますか。このためのリソースがあれば、それもまた素晴らしいことです。
これに沿った何か。
func my_func(a, b int) (int) {
return a + b
}
func main() {
arr := []int{2,4}
sum := my_func(arr)
}
もし私が構文的/分類的な間違いを犯しているなら、私は謝ります。私はGoに慣れていないのです。
どのように解決するのですか?
C言語と同様のvararg構文を使用することができます。
package main
import "fmt"
func my_func( args ...int) int {
sum := 0
for _,v := range args {
sum = sum + v
}
return sum;
}
func main() {
arr := []int{2,4}
sum := my_func(arr...)
fmt.Println("Sum is ", sum)
}
これで、好きなだけ和算ができるようになりました。重要な
...
を呼び出したときの後に
my_func
関数を呼び出したときです。
実行例です。 http://ideone.com/8htWfx
関連
-
[解決済み】Goプロジェクトのビルド時に「XXXパッケージはGOROOTにありません」と表示される。
-
[解決済み] Goをアンインストールする方法を教えてください。
-
[解決済み] golang の "go get" コマンドで "go: missing Git command" というエラーが表示される。
-
runnerw.exe: CreateProcess はエラー 216 で失敗しました。プロセスが終了し、終了コード 216 が表示された 実行するプロジェクトがこの例外をスローする
-
[解決済み] go言語でUUIDを生成する方法はありますか?
-
[解決済み] インポートサイクル不可
-
[解決済み] ゼロ終端のバイト配列を文字列に変換するにはどうすればよいですか?
-
パッケージ "github.com/gorilla/websocket" を見つけることができません。
-
[解決済み】init()関数はいつ実行されるのですか?
-
[解決済み】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 実装 サイバーパンク風ボタン