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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

490閲覧

Chrome上で文字列を渡してGoファイルを実行する手法について

aaaa____

総合スコア29

Go

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2023/12/21 12:21

編集2023/12/22 01:07

背景

https://github.com/snym-yt/VisualPMusic
このリポジトリにあるindex.htmlを開いた先で,ビジュアルプログラミングとして,ブロックを配置することでそれに対応したコードを生成しています.
生成され,表示されているコードはscript.js内のcode変数に格納されています.

また,このリポジトリにはないのですが,同じディレクトリに存在するinstructions.txt読み込み,その内容によってmelody.txtというファイルに書き込みを行うmain.goというファイルが存在しています.

folder

1| 2|-main.go 3|-instructions.go 4|-melody.txt

行いたいこと

ブラウザ上の操作(ボタンを押すなど)だけで,code変数の内容をmain.goに食わせて実行する.
(ブラウザ上のコードをコピーし,instructions.txtにペーストし,手元のエディタでmain.goを実行して,という手間を,ブラウザ上で「Run」ボタンを押しただけで完結するようにしたい.)

教えていただきたいこと

行いたいこと,を実装させるための提案や参考になりそうな記事などがあれば教えていただけると幸いです.

考えた・調べたこと

WebAssemblyという手法で,Go言語をブラウザ上で行うことが出来るとのことなのですが,main.goは他の複数のgoファイルを参照しており(約2000lines),それらを全てwasm変換させるのは無理だという判断にいたりました.

Cookieを使えばinstructions.txtに書き込むところはクリアできると考えたのですが,ブラウザ上でmain.goを実行するといところがネックになりました.

GitHubサーバを使って,リポジトリの中にmain.go含めたもろもろのgoファイルを入れればブラウザ上で実行できるのではないか?(まだ試しておりません)

などのことは考えていました.
質問させていてだいたいる現在も調査を続けておりますので,何かあれば本質問に追記させていただきます.

ブラウザでGo言語を実行させているサイト

https://go.dev/play/
このwiki内にありました.

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

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

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

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

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

ikedas

2023/12/22 00:58

> 手元のエディタでmain.goを実行 この場合、エディタでプログラムを実行しているのではないですよね。エディタの何らかの機能を使って、Goコンパイラを起動してプログラムをコンパイルし実行しているのですよね。 ブラウザにGoコンパイラを起動する機能はないと思われるので、 > ブラウザ上でmain.goを実行する ということは無理なのでは。
aaaa____

2023/12/22 01:05

コメントありがとうございます. おっしゃる通り,「エディタ上」で行っているということになると思います. ただ,調べてみるとpaizaではブラウザ上でコードが実行することができていたり,https://go.dev/play/ このサイトでも実行することができていたりするので,何かしらの方法で実現できるのではないかと考えている,お助けいただきたい,というのげ現状となっております.
guest

回答1

0

ベストアンサー

goをwasmに変換するのが無理でしたら、ブラウザでgoのコードを実行することは不可能なので、ウェブサーバ上でgoコードを実行する必要があります。

GitHub Pages はサーバ側でプログラムを実行させることはできないと思いますので、自由度の高いクラウドサービスを契約するとか、自分のPCでウェブサーバを構築するとかが必要でしょう。

投稿2023/12/22 01:01

int32_t

総合スコア21601

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

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

aaaa____

2023/12/22 01:45

ご回答ありがとうございます. 知識がないため,質問させていただきたいのですが,PCでWebサーバを構築する際にはPCさえあれば費用がかからずに行えるものなのでしょうか. DNSに関しましては既に使用可能なものを有しております. また,Webサーバ構築におすすめのサイトや本などはございますでしょうか. https://knowledge.sakura.ad.jp/2978/ このサイトをさらっと見ただけでの質問となってしまっており申し訳ありませんが,何卒よろしくお願いいたします.
int32_t

2023/12/22 02:15

構築したウェブサーバを自分のPCからだけ利用するなら、そのPC上にウェブサーバを構築するのが最も簡単だと思います。PCのOSによって構築の手間は結構違いがあります。 おすすめの資料は私からはとくにありません。まずは ChatGPT や Google Bard に相談してみては。
aaaa____

2023/12/22 11:05

なるほど,一度その方針で調べてみようと思います. ご回答いただきありがとうございました.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問