質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

1回答

2465閲覧

golangで複数のファイル作成を並列処理で行いたい

moshi

総合スコア90

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2018/10/18 02:51

編集2018/10/18 02:52

前提・実現したいこと

それぞれ出力内容の異なる
test1.vbs,test2.vbs,test3.vbs
というファイルを作成するスクリプトを呼び出したときに時間がとてもかかるものがあります。
調べたところgolangでは並列処理が簡単に行えるということだったので少しでも早くなるように並列でファイルの作成を行いたいです。

呼び出す関数にgoとつければ並列処理になるときいたのですが

if go makeFile("test1") == Error

のように書くとシンタックスエラーとなってしまいました。。
戻り値のある関数を並列処理で呼び出すにはどうすればよいでしょうか?

以下並列処理にする前のソースです

const ( Success = 0 Error = 1 ) func main() (iRet int) { if makeFile("test1") == Error { iRet = Error } if makeFile("test2") == Error { iRet = Error } if makeFile("test3") == Error { iRet = Error } return } func makeFile(name string) (iRet int) { // スクリプト存在チェック scriptName := name + ".vbs" _, e := os.Stat(scriptName) if e != nil { iRet = Error return } // スクリプト実行 scriptName = "/C start " + scriptName err := exec.Command("cmd", scriptName).Run() if err != nil { iRet = Error return } return }

補足情報(FW/ツールのバージョンなど)

Windows
golang

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

「go 並列処理」でググると色々出てきます。
Goの並列処理の動作を理解する
Go言語で非同期処理の結果を受け取る

投稿2018/10/18 08:44

shozi3

総合スコア691

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問