Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。
公式
https://golang.org
公式ドキュメント
https://golang.org/doc/
公式外パッケージドキュメント
https://godoc.org
ブラウザ上で試し書き
https://play.golang.org
※前スレ
Go language part 3
https://mevius.5ch.net/test/read.cgi/tech/1571315884/
Go language part 4
■ このスレッドは過去ログ倉庫に格納されています
2020/11/16(月) 04:14:40.64ID:fB5+0hxC
173デフォルトの名無しさん
2020/12/19(土) 00:17:10.67ID:TNlruc2Y go routineって windows APIで言うと単なるファイバーだったのね。何か昔に戻った見たい。
それなら、パフォーマンス気にする処理なら自分でスレッドとメッセージループでしっかり組んだ方が早いし確実だと思った。
初期のgo routineの中でビジーループすると他の処理が全部止まるってのも笑えたし、最新のgoでの改善策はAPI呼び出した時にディスパッチされますって。プリエンティブ無しの初期のRTOS見たいな動き。VBAのdo procだっけ、ループ中に他の処理動かすやつ。あれと同じ。
それなら、パフォーマンス気にする処理なら自分でスレッドとメッセージループでしっかり組んだ方が早いし確実だと思った。
初期のgo routineの中でビジーループすると他の処理が全部止まるってのも笑えたし、最新のgoでの改善策はAPI呼び出した時にディスパッチされますって。プリエンティブ無しの初期のRTOS見たいな動き。VBAのdo procだっけ、ループ中に他の処理動かすやつ。あれと同じ。
174デフォルトの名無しさん
2020/12/19(土) 00:39:26.57ID:x1EY5aRu そう、劣化Erlangなのだ!
175デフォルトの名無しさん
2020/12/19(土) 00:52:20.88ID:tyWP7Wcq じゃあGo捨ててErlang/Elixirを学び直すんですか?
貴方、正気ですか?
貴方、正気ですか?
176デフォルトの名無しさん
2020/12/19(土) 08:38:32.21ID:U4dyNzHj またVScodeでアップデートしたら
go get package failed: err: exit status 1: stderr: template: main:1:9: executing "main" at <.Module.Path>: nil pointer evaluating *modinfo.ModulePublic.Path
とか出てimportできない!とかほざくようになってしまった
Go自体のアップデートを1.14.2で止めてるからだろうか?
go get package failed: err: exit status 1: stderr: template: main:1:9: executing "main" at <.Module.Path>: nil pointer evaluating *modinfo.ModulePublic.Path
とか出てimportできない!とかほざくようになってしまった
Go自体のアップデートを1.14.2で止めてるからだろうか?
177デフォルトの名無しさん
2020/12/19(土) 08:51:06.40ID:U4dyNzHj178デフォルトの名無しさん
2020/12/19(土) 08:59:22.58ID:U4dyNzHj >>176
ほかのプロジェクトと比較
OneDriveとかユーザーディレクトリからcのサブディレクトリに移したら出なくなった
空白入りとか漢字のパスといった国際化への対応が、またダメになったのかもしれない
ほかのプロジェクトと比較
OneDriveとかユーザーディレクトリからcのサブディレクトリに移したら出なくなった
空白入りとか漢字のパスといった国際化への対応が、またダメになったのかもしれない
179デフォルトの名無しさん
2020/12/19(土) 11:09:41.00ID:/QQvHqFx >>173
goroutineはファイバーじゃなくて(グリーン)スレッドだろ。
goroutineはファイバーじゃなくて(グリーン)スレッドだろ。
180デフォルトの名無しさん
2020/12/19(土) 11:20:53.48ID:U4dyNzHj 大体がスタックを関数呼び出し毎にチェックして拡張する仕様がどうかしてる
これがあるので他と比較するのはあまり意味がないのでは?
そんな変態的な仕様が過去にあったなら、それとは比較できる
勉強不足で知らんから
これがあるので他と比較するのはあまり意味がないのでは?
そんな変態的な仕様が過去にあったなら、それとは比較できる
勉強不足で知らんから
181デフォルトの名無しさん
2020/12/20(日) 04:52:15.58ID:sa/VnQLT182デフォルトの名無しさん
2020/12/20(日) 05:40:24.66ID:Udz0+PvH グーグルの秀才たちが内輪向けに作った言語だから一般向けじゃないんだよなあ
変数の宣言〜初期値代入の形態が何種類あるかってだけでも初心者を脱落させるに十分
変数の宣言〜初期値代入の形態が何種類あるかってだけでも初心者を脱落させるに十分
183デフォルトの名無しさん
2020/12/20(日) 06:35:14.49ID:1LcS4Wc6 繰り返しは無理してでもforに集約してるクセになんか片手落ちだよなw
184デフォルトの名無しさん
2020/12/20(日) 11:21:25.65ID:1+oqFOqA マイクロサービスってログイン認証とかどうやってるんですか?
ログインユーザーのトークンをDBに保持してそれぞれのマイクロサービスでDB情報を共有したりするイメージですか?
ログインユーザーのトークンをDBに保持してそれぞれのマイクロサービスでDB情報を共有したりするイメージですか?
185デフォルトの名無しさん
2020/12/20(日) 12:03:40.89ID:Dsr91pCp186デフォルトの名無しさん
2020/12/20(日) 12:06:57.91ID:Dsr91pCp >>185
都合というより明らかに手抜きで
都合というより明らかに手抜きで
187デフォルトの名無しさん
2020/12/20(日) 14:19:56.97ID:4RVTKdnj >>179
う〜ん、微妙。同じ事言いたいだけかな。複数のファイバーって方がしっくり来る。結局、1万個のgo routineがあったら、動的に5個とか10個とか小数のスレッドが立ち上がり、メッセージループで逐次処理してるだけだから。
まあ関数途中から再開出来たりするのは言語仕様として使いやすくしてるだけ。暗黙的にasync構文が自動挿入されまくっているだけ。
う〜ん、微妙。同じ事言いたいだけかな。複数のファイバーって方がしっくり来る。結局、1万個のgo routineがあったら、動的に5個とか10個とか小数のスレッドが立ち上がり、メッセージループで逐次処理してるだけだから。
まあ関数途中から再開出来たりするのは言語仕様として使いやすくしてるだけ。暗黙的にasync構文が自動挿入されまくっているだけ。
188デフォルトの名無しさん
2020/12/20(日) 14:32:19.95ID:Gd3F49It 普段C#書いてるけどゴルーチン大好きよ
圧倒的に楽
圧倒的に楽
189デフォルトの名無しさん
2020/12/20(日) 14:47:35.49ID:zWi39lLO 普段Rust書いてるけどゴルーチン圧倒的に楽だね
たまに名前が気に入らんだの、ググラビリティ低いだの聞くけど
その辺はCでもGoでもなく、Rustのが辛ぽよ
たまに名前が気に入らんだの、ググラビリティ低いだの聞くけど
その辺はCでもGoでもなく、Rustのが辛ぽよ
190デフォルトの名無しさん
2020/12/20(日) 14:47:50.12ID:A6h0ajNd >>187
プリエンプションするからファイバーじゃなくてグリーンスレッドなの。
プリエンプションするからファイバーじゃなくてグリーンスレッドなの。
191デフォルトの名無しさん
2020/12/20(日) 14:54:10.97ID:U9jbkkr5 n:mでぶん回してタスクのスティールもするし、それをファイバーとは呼ばんと思う。
192デフォルトの名無しさん
2020/12/20(日) 18:12:25.64ID:sa/VnQLT とはいえスレッド使いたいことはある
重い計算処理を完全に占有させたい時とか
重い計算処理を完全に占有させたい時とか
193デフォルトの名無しさん
2020/12/20(日) 20:54:33.91ID:4RVTKdnj >>190
プリエンプションするの?初期は誰かがループすると他のgo routine呼ばれず、その後、改良されてAPI呼んだタイミングではするけど、純粋な計算とかのループはNGってください記事までは見たけど。最新だとするの?どんどん本物のスレッドに近付けて処理重たくなって最終的に本末転倒な結果にならないのか?
プリエンプションするの?初期は誰かがループすると他のgo routine呼ばれず、その後、改良されてAPI呼んだタイミングではするけど、純粋な計算とかのループはNGってください記事までは見たけど。最新だとするの?どんどん本物のスレッドに近付けて処理重たくなって最終的に本末転倒な結果にならないのか?
194デフォルトの名無しさん
2020/12/20(日) 21:00:10.73ID:4RVTKdnj >>188
c# なら taskとgo routineって殆んど同じかなと思ってしまうがどうなの?c#ではスレッド直接使ってたって話し?
c# なら taskとgo routineって殆んど同じかなと思ってしまうがどうなの?c#ではスレッド直接使ってたって話し?
195デフォルトの名無しさん
2020/12/20(日) 21:23:39.28ID:Dsr91pCp for i:=0;i<n;i++ {} というループでも1.2以降ではスタック操作でスイッチングが走るようになったから、for {} と書かない限りは気にすんなという記事を読んだ
196デフォルトの名無しさん
2020/12/20(日) 21:58:32.70ID:4RVTKdnj >>195
そう言う事なのかぁ。そんな単純ループでも切り替えチェックを毎回実行してるって性能面ではすごいデメリットだな。
そう言う事なのかぁ。そんな単純ループでも切り替えチェックを毎回実行してるって性能面ではすごいデメリットだな。
197デフォルトの名無しさん
2020/12/20(日) 23:04:35.11ID:Dsr91pCp >>196
性能では不利だけど、それはGoの優位点でもある
Goはスタックつまり自動変数の領域を初期値2KB(Javaのスレッドの1/500)しか持たず、それを必要時に拡張する
そのため、goroutineを10000個作ってもスタックは初期値なら20MBあれば良い(Javaのスレッドだと10GB)
そんなにgoroutineを使うか?という話だけど、webAPIが同時接続10000とかの場合を想定(昔は10K問題として大問題)
今でも300万同時接続をJavaとかのスレッドで扱おうとすると3TBの仮想メモリが最低限必要になるけど、Goなら最低6GBで済む(スレッドのスタックサイズをデフォルト値で使ったら)
そんなわけでスレッドのメモリ消費を何とかしない限り、webAPIにおいてGoのアドバンテージは無くならない
性能では不利だけど、それはGoの優位点でもある
Goはスタックつまり自動変数の領域を初期値2KB(Javaのスレッドの1/500)しか持たず、それを必要時に拡張する
そのため、goroutineを10000個作ってもスタックは初期値なら20MBあれば良い(Javaのスレッドだと10GB)
そんなにgoroutineを使うか?という話だけど、webAPIが同時接続10000とかの場合を想定(昔は10K問題として大問題)
今でも300万同時接続をJavaとかのスレッドで扱おうとすると3TBの仮想メモリが最低限必要になるけど、Goなら最低6GBで済む(スレッドのスタックサイズをデフォルト値で使ったら)
そんなわけでスレッドのメモリ消費を何とかしない限り、webAPIにおいてGoのアドバンテージは無くならない
198デフォルトの名無しさん
2020/12/21(月) 00:48:28.58ID:LJe505L1 >>197
いや、go routineと本物のthread(javaも同じ)で比較するとその通りだと思う。
過去のwebフレームワークが1要求を愚直に1スレッドに割当てして性能限界に至ったのも真実。
だからgo routineを使えば、同じく1要求を愚直に1 go routineに割当したとしてもgo 内部で複数のgo routineを1つのスレッドに割当する事で極力性能、メモリ使用量を抑える事が出来ますって事だけ何だよな。
そして、スレッドのコストが高いってのはある意味常識で、スレッドは最低限に抑えましょうてのは昔から常識。方法としては、古典的なメッセージループ、スレッドプール、ファイバー、タスク、async構文、nodeの全シングルスレッドとあらゆる方法がある中の一つがgo routine。
中身は、まあ他の手法から抜きん出て便利なのか否かは歴史がこれから証明する所。
apacheが歴史的に1要求1プロセスのforkベースだったから、webはプロセスから見たらスレッドの方が軽量って事で性能面は見過ごされて来た歴史がある。組込みシステムはリソース命だからかなり初期からスレッドの高コストはしっかり意識してモノ作りしている。
いや、go routineと本物のthread(javaも同じ)で比較するとその通りだと思う。
過去のwebフレームワークが1要求を愚直に1スレッドに割当てして性能限界に至ったのも真実。
だからgo routineを使えば、同じく1要求を愚直に1 go routineに割当したとしてもgo 内部で複数のgo routineを1つのスレッドに割当する事で極力性能、メモリ使用量を抑える事が出来ますって事だけ何だよな。
そして、スレッドのコストが高いってのはある意味常識で、スレッドは最低限に抑えましょうてのは昔から常識。方法としては、古典的なメッセージループ、スレッドプール、ファイバー、タスク、async構文、nodeの全シングルスレッドとあらゆる方法がある中の一つがgo routine。
中身は、まあ他の手法から抜きん出て便利なのか否かは歴史がこれから証明する所。
apacheが歴史的に1要求1プロセスのforkベースだったから、webはプロセスから見たらスレッドの方が軽量って事で性能面は見過ごされて来た歴史がある。組込みシステムはリソース命だからかなり初期からスレッドの高コストはしっかり意識してモノ作りしている。
199デフォルトの名無しさん
2020/12/21(月) 01:00:05.48ID:y0Qc2EqT わかったから
200デフォルトの名無しさん
2020/12/21(月) 01:21:44.50ID:k4qTN2iI Unity界隈はどうなんだろ?
基本はC#で部分的にgoroutine使ってるような話を聞いたことあるが正確なところは不明
基本はC#で部分的にgoroutine使ってるような話を聞いたことあるが正確なところは不明
201デフォルトの名無しさん
2020/12/21(月) 03:21:16.47ID:56qSn/9L202デフォルトの名無しさん
2020/12/23(水) 22:22:43.94ID:O5AY10nM GOはホント話題無いね
いい意味で枯れてきてるのかもしれないけどとにかくトピックが少ない
いい意味で枯れてきてるのかもしれないけどとにかくトピックが少ない
203デフォルトの名無しさん
2020/12/23(水) 22:48:40.86ID:LHRvotnC 新機能に渇望してないのが大きい
期待の新機能であるジェネリックが欲しい層もあまり数は居なさそうだし
もう、あれば便利だろうし使うけど特に今すぐには要らないよなって
弱点としてよく挙げられる正規表現も、実用性が無いほど遅い訳じゃないし、探せば高速なライブラリもあるんだろなとか思ってる
期待の新機能であるジェネリックが欲しい層もあまり数は居なさそうだし
もう、あれば便利だろうし使うけど特に今すぐには要らないよなって
弱点としてよく挙げられる正規表現も、実用性が無いほど遅い訳じゃないし、探せば高速なライブラリもあるんだろなとか思ってる
204デフォルトの名無しさん
2020/12/23(水) 23:55:24.14ID:GvbKZ216205デフォルトの名無しさん
2020/12/24(木) 03:36:46.49ID:ieyHo1hw >>204
アルゴリズムでは決して遅くないが、DFAを再利用するために排他制御するので並列処理で遅くなるとのこと
https://qiita.com/momotaro98/items/09d0f968d44c7027450d
アルゴリズムでは決して遅くないが、DFAを再利用するために排他制御するので並列処理で遅くなるとのこと
https://qiita.com/momotaro98/items/09d0f968d44c7027450d
206デフォルトの名無しさん
2020/12/24(木) 04:26:45.03ID:yxJlqEyC そんな排他制御してるのか
本末転倒じゃねえか
本末転倒じゃねえか
207デフォルトの名無しさん
2020/12/24(木) 04:28:11.75ID:yxJlqEyC208デフォルトの名無しさん
2020/12/24(木) 05:41:11.22ID:jgmFKpNF 例外がないif err言語さん……w
209デフォルトの名無しさん
2020/12/24(木) 07:24:03.78ID:ieyHo1hw 例外キボンという声は聞いたことないから、やはり
今時例外なのプークスクスとみんな思ってると考えていいかな?
今時例外なのプークスクスとみんな思ってると考えていいかな?
210デフォルトの名無しさん
2020/12/24(木) 08:28:54.70ID:7F4cW8XH いいよ。
211デフォルトの名無しさん
2020/12/24(木) 08:40:06.16ID:QpUzPsdF コストの高い例外フロー制御はともかく、
例外専用の戻り値は欲しいわ。
例外専用の戻り値は欲しいわ。
212デフォルトの名無しさん
2020/12/24(木) 09:35:28.02ID:ieyHo1hw Javaのだと、シグネチャに無い例外を返せないからインターフェースとして呼ぶのに困るし
C#のだとガバガバ
結局、実際には何が帰るのか分かりませんとなってカスタムしたExceptionで受ける一択
更にそのため常にメソッド内でカスタムExceptionにラップするためのcatchを書かないとならんし
面倒すぎたよね例外(過去形でかくな
C#のだとガバガバ
結局、実際には何が帰るのか分かりませんとなってカスタムしたExceptionで受ける一択
更にそのため常にメソッド内でカスタムExceptionにラップするためのcatchを書かないとならんし
面倒すぎたよね例外(過去形でかくな
213デフォルトの名無しさん
2020/12/24(木) 16:16:26.58ID:yxJlqEyC コールスタックを一気にジャンプするとかおぞましいことはいらないよ
単なるgotoだし
単なるgotoだし
214デフォルトの名無しさん
2020/12/24(木) 18:05:24.14ID:z4h3nURn if err書いて回るのに比べればgotoのほうがマシでしょ
それにコールスタックを一気にジャンプするのは言語による実装の詳細で必須事項じゃないよね
それにコールスタックを一気にジャンプするのは言語による実装の詳細で必須事項じゃないよね
215デフォルトの名無しさん
2020/12/24(木) 18:07:54.69ID:ieyHo1hw マシとは思わないから文句が出ないんだよねー
216デフォルトの名無しさん
2020/12/24(木) 18:11:34.30ID:ieyHo1hw 文句が出てないという根拠は、そこそこちゃんと使っている人からの不満点として見たことが無い、というもの
反証は受け付ける
反証は受け付ける
217デフォルトの名無しさん
2020/12/24(木) 18:21:35.08ID:fJ8Afd/q ✕Golang
○IfErang
○IfErang
218デフォルトの名無しさん
2020/12/24(木) 19:41:05.61ID:grZRkp5b deferがあるぞ
219デフォルトの名無しさん
2020/12/24(木) 21:25:43.87ID:YakLuvNb googleって地図だけの一発屋やな
220デフォルトの名無しさん
2020/12/24(木) 21:30:49.79ID:ieyHo1hw 突っ込み所しかなくて、えー頑張ってね
きっと良いこともあるよ
きっと良いこともあるよ
221デフォルトの名無しさん
2020/12/24(木) 21:59:07.90ID:NCBnjOT7 err頑張ってね
222デフォルトの名無しさん
2020/12/24(木) 21:59:59.67ID:ieyHo1hw var exp = flag.Bool("exp", true, "export")
で、-exp false しても *exp が false にならん
どこを間違えてるのか
で、-exp false しても *exp が false にならん
どこを間違えてるのか
223デフォルトの名無しさん
2020/12/24(木) 22:32:45.42ID:ieyHo1hw https://play.golang.org/p/gcNo0xC4tUj
exp:true, CommandLine:&{0x4a6ee0 /tmpfs/play true map[exp:0xc000108040] map[exp:0xc000108040] [false] 1 <nil>}
exp:true, CommandLine:&{0x4a6ee0 /tmpfs/play true map[exp:0xc000108040] map[exp:0xc000108040] [false] 1 <nil>}
224デフォルトの名無しさん
2020/12/24(木) 22:34:38.12ID:yxJlqEyC Win32 APIもエラーコードチェックばっかやらなきゃいけない
それと大して変わらんよ
低レイヤーのプログラミングはいつも同じ
それと大して変わらんよ
低レイヤーのプログラミングはいつも同じ
225デフォルトの名無しさん
2020/12/24(木) 22:49:24.53ID:ieyHo1hw 判明というか多分バグ
他のフラグは
-cred admin.json
とかの形式で取り込めるけど、
expは(多分flag.Bool()は)
-exp=false
と指定しないと取り込まれない
他のフラグは
-cred admin.json
とかの形式で取り込めるけど、
expは(多分flag.Bool()は)
-exp=false
と指定しないと取り込まれない
226デフォルトの名無しさん
2020/12/24(木) 22:54:47.90ID:ieyHo1hw ああ?go documentで検索したら、non-boolean only
仕様なの?何で?because the meaning of the command?
仕様なの?何で?because the meaning of the command?
227デフォルトの名無しさん
2020/12/24(木) 23:00:26.57ID:ieyHo1hw 文字列で取り込んでbooleanに変換しなきゃならんのか
めんどくさい……
めんどくさい……
228デフォルトの名無しさん
2020/12/28(月) 21:09:09.98ID:Rt6RXU1L goオワコン?
229デフォルトの名無しさん
2020/12/28(月) 21:15:09.97ID:1wnarVmc go routine リーク周りはまだ話があるんじゃないの?
230デフォルトの名無しさん
2020/12/28(月) 22:36:34.04ID:Rt6RXU1L >>222
デフォルトtrueのフラグパラメータって設計が良くない気がするなー
俺なら、-disableExport(デフォルト:false)って引数にするかも。で指定するときは、
go run main.go -disableExport
って感じでtrueとか、falseとかつけないかなー。なぜならフラグ指定してる時点で「true」だから
デフォルトtrueのフラグパラメータって設計が良くない気がするなー
俺なら、-disableExport(デフォルト:false)って引数にするかも。で指定するときは、
go run main.go -disableExport
って感じでtrueとか、falseとかつけないかなー。なぜならフラグ指定してる時点で「true」だから
231デフォルトの名無しさん
2020/12/28(月) 23:28:27.07ID:w2tkTAcI >>228
必須スキルだよ?
必須スキルだよ?
232デフォルトの名無しさん
2020/12/28(月) 23:52:44.50ID:Rt6RXU1L233デフォルトの名無しさん
2020/12/29(火) 08:01:29.87ID:pjgVtImx >>229
https://qiita.com/kawasin73/items/7f04b2943bdbb7588c3e
でも筆者が勘違いしていたので、単に一度ヒープから確保したメモリはヒープのプールに入るため取得されたまま、になってただけと訂正入ってる
ヒープが利用終わったら解放されると思い込んだ勘違いという結論になったのでは?
https://qiita.com/kawasin73/items/7f04b2943bdbb7588c3e
でも筆者が勘違いしていたので、単に一度ヒープから確保したメモリはヒープのプールに入るため取得されたまま、になってただけと訂正入ってる
ヒープが利用終わったら解放されると思い込んだ勘違いという結論になったのでは?
234デフォルトの名無しさん
2020/12/29(火) 08:40:46.55ID:+jeJmMuS >>233
いやそういうリークじゃなくて、正確にはチャンネル待ちリークというかそういう感じの話。
いやそういうリークじゃなくて、正確にはチャンネル待ちリークというかそういう感じの話。
235デフォルトの名無しさん
2020/12/29(火) 09:02:37.84ID:pjgVtImx 待ちなのにリークなん?
送ったはずのチャネル通信が届かない事案だとしたら、それは通信の問題でリークじゃないよね
送ったはずのチャネル通信が届かない事案だとしたら、それは通信の問題でリークじゃないよね
236デフォルトの名無しさん
2020/12/29(火) 09:27:45.67ID:+jeJmMuS いやだから通信の問題で実質リークというかgoroutineが溢れるって話をしてるんだが。。
kube並の大きさのプログラムで発生したらデバッグできんの?って話をしてるんだよ。
kube並の大きさのプログラムで発生したらデバッグできんの?って話をしてるんだよ。
237デフォルトの名無しさん
2020/12/29(火) 11:28:39.38ID:pjgVtImx チャネル送信が送られないなんて報告があるの?
と言ってる
と言ってる
238デフォルトの名無しさん
2020/12/29(火) 18:59:11.37ID:SyBq36e1 …ゴルーチンが溢れるって何や?
239デフォルトの名無しさん
2020/12/29(火) 19:07:08.67ID:pjgVtImx 検索しても233にある誤解が原因だった記事くらいしか見つからなかったから、具体的な記事のリンクを張ってくれるのを待ってる
240デフォルトの名無しさん
2020/12/29(火) 19:42:26.61ID:LSI+C1uB ゴルが解放されないって話なら永続リソースとかを
掴んだまま離さないとかそういうお行儀の悪いプログラムしてるからだよ
動的言語と同じ感覚でプログラミングするとそういう痛い目にあう
掴んだまま離さないとかそういうお行儀の悪いプログラムしてるからだよ
動的言語と同じ感覚でプログラミングするとそういう痛い目にあう
241デフォルトの名無しさん
2021/01/02(土) 23:36:52.65ID:hnNoCPhn goって終わったよね?
242デフォルトの名無しさん
2021/01/02(土) 23:51:01.94ID:hutYk629 無理に使おうとしなくてもええんやで
ウチはインフラ部分はほぼgoに置き換えてる
でもc#の方がすこや
ウチはインフラ部分はほぼgoに置き換えてる
でもc#の方がすこや
243デフォルトの名無しさん
2021/01/03(日) 02:43:46.82ID:965qc4Vx >>241
rustの時代とは言われてる
rustの時代とは言われてる
244デフォルトの名無しさん
2021/01/03(日) 03:00:10.23ID:Mk7RJK9u 終わってないが、始まってもない
245デフォルトの名無しさん
2021/01/03(日) 03:00:59.89ID:j7drLdmA もっと流行るかと思ったけど全くだよな
やっぱ言語仕様に癖がありすぎる
やっぱ言語仕様に癖がありすぎる
246デフォルトの名無しさん
2021/01/03(日) 11:13:21.86ID:9SkeDBIZ 癖っていうか糞仕様が多い
いまどきこれ??みたいな
いまどきこれ??みたいな
247デフォルトの名無しさん
2021/01/03(日) 11:48:40.90ID:ez188GTZ 国内でのGo普及活動家の母体メルカリのGoエンジニアたち全然情報発信しなくなってて草
2の対立とか、そもそもの言語仕様の酷さとかに気づいたのかな
2の対立とか、そもそもの言語仕様の酷さとかに気づいたのかな
248デフォルトの名無しさん
2021/01/03(日) 16:34:24.05ID:j7drLdmA249デフォルトの名無しさん
2021/01/03(日) 16:44:28.91ID:965qc4Vx goって、特定の構造体が目的のインターフェース実装してるか見分けるのむずくない?みんなどうやってるの?
250デフォルトの名無しさん
2021/01/03(日) 17:38:40.24ID:PgQRe2mf >>249
https://play.golang.org/p/0MGZkqhS6Oe
こんな感じでエラーチェックしてるかな
./prog.go:20:2: cannot use &StrE literal (type *StrE) as type IStr in assignment:
*StrE does not implement IStr (missing Func2 method)
./prog.go:21:2: cannot use &StrE2 literal (type *StrE2) as type IStr in assignment:
*StrE2 does not implement IStr (missing Func method)
https://play.golang.org/p/0MGZkqhS6Oe
こんな感じでエラーチェックしてるかな
./prog.go:20:2: cannot use &StrE literal (type *StrE) as type IStr in assignment:
*StrE does not implement IStr (missing Func2 method)
./prog.go:21:2: cannot use &StrE2 literal (type *StrE2) as type IStr in assignment:
*StrE2 does not implement IStr (missing Func method)
251デフォルトの名無しさん
2021/01/03(日) 17:46:07.51ID:PgQRe2mf 前スレのこれは対応してほしい……
https://play.golang.org/p/XRFmBiqhqJp
インタフェースAを返すメソッドを持つインタフェースB。
そのメソッド実装がインタフェースAを実装しているポインタを返しても、
./prog.go:34:4: cannot use &Base literal (type *Base) as type IBase in assignment:
*Base does not implement IBase (wrong type for Sub method)
have Sub() *Sub
want Sub() ISub
と、インタフェースAを返しているとは認められない。
https://play.golang.org/p/XRFmBiqhqJp
インタフェースAを返すメソッドを持つインタフェースB。
そのメソッド実装がインタフェースAを実装しているポインタを返しても、
./prog.go:34:4: cannot use &Base literal (type *Base) as type IBase in assignment:
*Base does not implement IBase (wrong type for Sub method)
have Sub() *Sub
want Sub() ISub
と、インタフェースAを返しているとは認められない。
252デフォルトの名無しさん
2021/01/03(日) 19:26:43.94ID:965qc4Vx253デフォルトの名無しさん
2021/01/03(日) 19:29:01.30ID:965qc4Vx あ、でもそれなら実装漏れに最低ビルド時に気づけるってことか
たしかにその方法良いですね。真似します。
たしかにその方法良いですね。真似します。
254デフォルトの名無しさん
2021/01/05(火) 01:56:09.22ID:RVMSJAuG255デフォルトの名無しさん
2021/01/06(水) 15:29:01.20ID:/bMEAqVx GODOTってゲームの開発環境あるんだがGOなのかと思ってたよ
256デフォルトの名無しさん
2021/01/06(水) 15:39:08.43ID:9b/ixvsd257デフォルトの名無しさん
2021/01/06(水) 19:57:45.35ID:6LFK/57e258デフォルトの名無しさん
2021/01/06(水) 22:46:22.85ID:RqNhj0Vs >>255
名前の元ネタはゴドーを待ちながらだよ
名前の元ネタはゴドーを待ちながらだよ
259デフォルトの名無しさん
2021/01/08(金) 10:42:43.33ID:SFYEeLwk VScodeでgo.modがパッケージ更新できなくて悩んだ
結局コマンドラインから go get -u で取得したら GOPATH /pkg/mod/... に最新版が取得できた
VScodeのgo拡張って変な動きとかするなぁ
結局コマンドラインから go get -u で取得したら GOPATH /pkg/mod/... に最新版が取得できた
VScodeのgo拡張って変な動きとかするなぁ
260デフォルトの名無しさん
2021/01/10(日) 08:45:10.91ID:tmTVLRQU ubuntuのi386って、もしかして32bit?
goをインストールして動かそうとしたらファイル形式エラーで実行できなかった
i386捨ててamd64でやりなおし
goをインストールして動かそうとしたらファイル形式エラーで実行できなかった
i386捨ててamd64でやりなおし
261デフォルトの名無しさん
2021/01/10(日) 10:53:20.77ID:tmTVLRQU >>260
amd64をインストールし直したら動いた
amd64をインストールし直したら動いた
262デフォルトの名無しさん
2021/01/10(日) 11:16:28.28ID:tmTVLRQU ものすごい当たり前の落とし穴なんだけど
os.MkdirAll() で os.ModeDir だけ指定してたら、Linux に行ったら権限不足でファイルを読み書きできなかった
アホか自分は!当たり前すぎるわ!orz
os.MkdirAll() で os.ModeDir だけ指定してたら、Linux に行ったら権限不足でファイルを読み書きできなかった
アホか自分は!当たり前すぎるわ!orz
263デフォルトの名無しさん
2021/01/13(水) 02:41:40.78ID:LRQMEOBI goエンジニアって0.5割ぐらいの超人エンジニアがいて、残りはマジでカス未満のエンジニアしかいなくないか?
ライブラリよく作ってるようなエンジニア以外の業務コード見たら吐き気するんだが同士おる?
ライブラリよく作ってるようなエンジニア以外の業務コード見たら吐き気するんだが同士おる?
264デフォルトの名無しさん
2021/01/13(水) 02:44:08.87ID:atGCk1//265デフォルトの名無しさん
2021/01/13(水) 03:39:37.52ID:uZRkh4HP Ruby/Go の神、Vagrant, Terraform, Packer の作者、
今世紀最大の起業家、HashiCorp のMitchell Hashimoto
皆、彼を参考にしてる
今世紀最大の起業家、HashiCorp のMitchell Hashimoto
皆、彼を参考にしてる
266デフォルトの名無しさん
2021/01/13(水) 05:37:10.83ID:vmn8olpj267デフォルトの名無しさん
2021/01/13(水) 08:37:45.48ID:5GOPYdWB268デフォルトの名無しさん
2021/01/13(水) 08:52:35.47ID:u6YyMdJS >>263
それ〇〇エンジニアの全てが同じ状況だろ、それとも〇〇言語だと超人が増えるのか?
それ〇〇エンジニアの全てが同じ状況だろ、それとも〇〇言語だと超人が増えるのか?
269デフォルトの名無しさん
2021/01/13(水) 10:02:18.24ID:edoUNcFJ RubyをNGすればケンタガイジも自然に消えるよ
Go使いならRuby触ること無いから問題無いっしょ
Go使いならRuby触ること無いから問題無いっしょ
270デフォルトの名無しさん
2021/01/13(水) 12:07:29.42ID:GhxYbqoB ルビィ/Go の神、Vagrant, Terraform, Packer の作者、
今世紀最大の起業家、HashiCorp のMitchell Hashimoto
皆、彼を参考にしてる
今世紀最大の起業家、HashiCorp のMitchell Hashimoto
皆、彼を参考にしてる
271デフォルトの名無しさん
2021/01/13(水) 22:08:57.53ID:lYKbR8rO KENTA
HashiCorp
KENTAガイジ対策として上記単語をNGワード設定しておきましょう。
プログラム板で二度と不快な投稿を目にしなくてすみましゅよ。
HashiCorp
KENTAガイジ対策として上記単語をNGワード設定しておきましょう。
プログラム板で二度と不快な投稿を目にしなくてすみましゅよ。
272デフォルトの名無しさん
2021/01/13(水) 22:49:31.14ID:mK+3gZUP あとrubyのNG登録が浸透してしまったからか最近ルビィて書いとるぞそいつ。
ルビィもNG登録や。
ルビィもNG登録や。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★4 [♪♪♪★]
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★14 [BFU★]
- 中国、日中韓首脳会談を拒否 1月開催打診も、首相答弁に反発 [ぐれ★]
- 台湾有事での集団的自衛権行使に賛成48.8%、「反対」が44.2% ★3 [♪♪♪★]
- 【英FT】国土の大部分を日本の残忍な占領下におかれたという苦しみの記憶を今なお抱え続けている中国 [1ゲットロボ★]
- 中国の渡航自粛、影響は限定的 日本人客が来店しやすく [♪♪♪★]
- @@@令和七年大相撲九州場所 vol.11@@@
- ハム専ファンフェス
- 他サポ 2025-261
- 【D専】
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1807
- 【NJPW】新日本プロレスワールド part.2412
- 高市早苗「G20サミット、なめられない服を選びました。外交交渉でマウント取れる服買わないとなぁ」大炎上★2 [165981677]
- 有識者「高市総理は中国に切れるカードが3枚あります。その中で1番強力なのが半導体製造装置の輸出禁止」 [931948549]
- 【んな専🏡】ルーナイトとたこ焼きパーティするのらぁ(・o・🍬)【ホロライブ▶】
- 中国、高市早苗を国連に提訴。「国際社会に問う」 [271912485]
- 【朗報】片山財務相「急速な円安に対しては断固たる措置も辞さない」 [519511584]
- 高市、総理就任から会食ゼロで勉強漬け!その結果今の惨状らしい😰 [369521721]
