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
142デフォルトの名無しさん
2020/12/08(火) 10:33:58.70ID:p9ADjhn4 ginでオレオレwebアプリを勉強がてら作ってるのだけどtemplateベタ書きなmvcっぽいので参考サイトやリポジトリないですか?
日本語だとjson返すAPIばかりなので英語でもいいので
日本語だとjson返すAPIばかりなので英語でもいいので
143デフォルトの名無しさん
2020/12/08(火) 11:22:36.96ID:xomfKp6r JSON返すWebAPIが大の得意だからwebページの用途に関してはブログを書く気がないんじゃないかな?
webページでは画面遷移は控えめにシングルページ主体で、JavaScriptによってセッションキー付けてWebAPI叩けば用は足りるだろうという推測
これは一般的に聞いた話ではなく、自分がstrutsページ遷移とかでセッションのデータを管理するのが大変なんで、なるべく使いたくないなーと思ってるための希望的妄想なのですまない
webページでは画面遷移は控えめにシングルページ主体で、JavaScriptによってセッションキー付けてWebAPI叩けば用は足りるだろうという推測
これは一般的に聞いた話ではなく、自分がstrutsページ遷移とかでセッションのデータを管理するのが大変なんで、なるべく使いたくないなーと思ってるための希望的妄想なのですまない
144デフォルトの名無しさん
2020/12/08(火) 12:18:51.20ID:WJUcdgJr145デフォルトの名無しさん
2020/12/09(水) 01:20:46.40ID:WuZTb4kZ ふざけたもん勧めんじゃねえぞゴルァ!!
146デフォルトの名無しさん
2020/12/09(水) 02:36:15.78ID:1fNUcYVK 自鯖で静的なHTML(貧弱なレンタル鯖用のサイト)を生成するスクリプトを走らせてたんだけど
それをGoogle compute engineの無料枠に移行しようと環境構築してたら
cpanm(perlのモジュール管理ツール)のDBIのインストールのテストで、メモリエラーでコケた
goは余計なリソース一切なく単体で動くという点で、弱小サーバをどう使うかという観点でも有望な気がする
それをGoogle compute engineの無料枠に移行しようと環境構築してたら
cpanm(perlのモジュール管理ツール)のDBIのインストールのテストで、メモリエラーでコケた
goは余計なリソース一切なく単体で動くという点で、弱小サーバをどう使うかという観点でも有望な気がする
147デフォルトの名無しさん
2020/12/09(水) 08:42:06.56ID:wV8nhMqi >>146
ちゃんと読んでないけどHugo使えば?
ちゃんと読んでないけどHugo使えば?
148デフォルトの名無しさん
2020/12/09(水) 22:44:22.66ID:1fNUcYVK >>147
こんなのあったのね…
もうオレオレでデータ入力用の管理サイトと、
構造化してリンクとか全部付与してサイト生成する部分まで作っちゃってる(´・ω・`)
まあ言いたかったのは少なくともPerl(+cpanm)よりも貧弱な環境で動きそうということ
こんなのあったのね…
もうオレオレでデータ入力用の管理サイトと、
構造化してリンクとか全部付与してサイト生成する部分まで作っちゃってる(´・ω・`)
まあ言いたかったのは少なくともPerl(+cpanm)よりも貧弱な環境で動きそうということ
149デフォルトの名無しさん
2020/12/09(水) 22:59:09.61ID:hK6AFgql150デフォルトの名無しさん
2020/12/09(水) 23:40:59.80ID:jODQKuwy > lispよりも強力なマクロのあるJulia
これ本当?
これ本当?
151デフォルトの名無しさん
2020/12/10(木) 07:24:30.41ID:0VEO1tgk 最強のマクロったら gcc の inline ではないだろうか?
152デフォルトの名無しさん
2020/12/10(木) 19:39:54.81ID:fydmziEi153デフォルトの名無しさん
2020/12/10(木) 20:30:53.92ID:nolBjcag マクロでlispに勝てる言語ってほとんどlispじゃね?
154デフォルトの名無しさん
2020/12/10(木) 20:45:08.50ID:TmcetjS0 強力という言葉の意味次第だろう
そのブログにも書いてあるけど、
何でも出来るという意味ならlispの方に歩がある
そのブログにも書いてあるけど、
何でも出来るという意味ならlispの方に歩がある
155デフォルトの名無しさん
2020/12/10(木) 20:45:22.05ID:fydmziEi 最強のマクロがある言語はどれなのか
C言語とLisp, Julia, Nim, Rustの5言語に精通してる人なら答えられるかもしれない……
C言語とLisp, Julia, Nim, Rustの5言語に精通してる人なら答えられるかもしれない……
156デフォルトの名無しさん
2020/12/10(木) 20:51:55.95ID:nolBjcag juliaのマクロはschemeの健全マクロみたいなもんなのかな?そうなら健全なマクロでも変数補足しちゃうはずだよ。マクロに関してはastベタ書きするLISP族が一番適してるとおもうけどな
157デフォルトの名無しさん
2020/12/10(木) 21:16:06.92ID:YXjbRyJb デフォルトで変数捕捉しません。
させたいときはエスケープする。
させたいときはエスケープする。
158デフォルトの名無しさん
2020/12/11(金) 02:56:17.53ID:/jUQlBbU そんなにマクロつかいたきゃ
ビルドの途中でC/C++のプリプロセッサを間にかませや
ビルドの途中でC/C++のプリプロセッサを間にかませや
159デフォルトの名無しさん
2020/12/11(金) 03:07:10.50ID:RI9UvvOD そんなオモチャみたいなマクロの話じゃないから黙ってろ
真のマクロの話をしてるんだ
真のマクロの話をしてるんだ
160デフォルトの名無しさん
2020/12/11(金) 06:25:35.96ID:ki/gtV8Z GO2のリリース日を教えてください
来年にはきましゅか?
来年にはきましゅか?
161デフォルトの名無しさん
2020/12/11(金) 20:15:55.93ID:i7+Pb2PU 来まちゅよ!
162デフォルトの名無しさん
2020/12/11(金) 20:31:05.80ID:ozodvswY 来てもなぁ
とりたてて困ってない
滅多に使わなくて実感ないから正規表現が遅いと言われてもピンとこないし
とりたてて困ってない
滅多に使わなくて実感ないから正規表現が遅いと言われてもピンとこないし
163デフォルトの名無しさん
2020/12/13(日) 00:32:21.22ID:V5v4lW7x int64をuint64に変換する簡単な方法って無い?
当然に収まらないからマイナス値はif文で0にしてあるものとする
何が困ってるかと言うと、ファイルサイズはosパッケージではint64なのに、zipパッケージではuint64なんで
もう面倒なんで、文字列にしてハイフン取っちゃおうかな
当然に収まらないからマイナス値はif文で0にしてあるものとする
何が困ってるかと言うと、ファイルサイズはosパッケージではint64なのに、zipパッケージではuint64なんで
もう面倒なんで、文字列にしてハイフン取っちゃおうかな
164デフォルトの名無しさん
2020/12/13(日) 02:18:12.88ID:1g8P/X2h GOでRSSリーダー作れましゅか?
165デフォルトの名無しさん
2020/12/13(日) 02:28:39.75ID:V5v4lW7x httpで読み込んで
https://qiita.com/ytkhs/items/948f516ec82c82eaa882
とかXMLパースするだけだろRSS
JSONは要素のコメントなしで読み込む機能はあるけど、XMLはどうだったか知らん
名前空間も
https://qiita.com/ytkhs/items/948f516ec82c82eaa882
とかXMLパースするだけだろRSS
JSONは要素のコメントなしで読み込む機能はあるけど、XMLはどうだったか知らん
名前空間も
166デフォルトの名無しさん
2020/12/13(日) 02:33:15.75ID:RtMOGcGM167デフォルトの名無しさん
2020/12/13(日) 02:48:56.92ID:V5v4lW7x >>166
orz 組み込み関数見落としかぁ
orz 組み込み関数見落としかぁ
168デフォルトの名無しさん
2020/12/13(日) 14:24:43.55ID:RBQoQqxa そういう次元の話じゃない
せめてググろう
せめてググろう
169デフォルトの名無しさん
2020/12/13(日) 15:04:34.66ID:V5v4lW7x Go製のrssリーダーはすでに幾つかあるが、作れるかであって使えるかじゃないから、自作する話だと判断するのが妥当
rssの要素技術はhttpとXML
rssのURLをブラウザで叩けば最低限読めるのだから、他に必要な技術はない
作れるかと聞かれているのだから、要素技術をサポートしているか、という質問だと判断するのが妥当なのでは?
rssの要素技術はhttpとXML
rssのURLをブラウザで叩けば最低限読めるのだから、他に必要な技術はない
作れるかと聞かれているのだから、要素技術をサポートしているか、という質問だと判断するのが妥当なのでは?
170デフォルトの名無しさん
2020/12/13(日) 15:18:49.96ID:Nr97RBB7 GoでGUIアプリのRSSリーダーを開発できるかという質問なのかな?
QTくらいしか俺は触ったことないけれども
QTくらいしか俺は触ったことないけれども
171デフォルトの名無しさん
2020/12/13(日) 16:29:04.67ID:XiV1m0kj 組み込み関数じゃなくて言語の基本仕様レベルだよ
って話じゃないの
って話じゃないの
172デフォルトの名無しさん
2020/12/18(金) 22:04:00.43ID:+Wrhvh6s GOってもしかして人気無い?
2〜3年前と比べて下火になってる?
2〜3年前と比べて下火になってる?
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#の方がすこや
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★3 [♪♪♪★]
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★8 [♪♪♪★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 [ぐれ★]
- 【芸能】44歳・池脇千鶴、激変ぶりにネット衝撃 「まるで別人…」「変化が凄い!!」の声 [冬月記者★]
- 竹中平蔵氏、万博は大成功だったと持論 批判していた人々にチクリ「反省の弁の一つも聞きたい」 [バイト歴50年★]
- なぜ立花孝志氏の言葉は信じられたのか…"異例の逮捕"が浮き彫りにした「SNSの危険な病理」 [ぐれ★]
- アマゾンのブラックフライデーで何買えばいいの?
- 結局最後は躊躇なく殴れる奴が勝つんだよ
- 🏡😡
- 【高市悲報】親戚にダウン症がいた結果wwwwwwwww [394133584]
- 中国「国連さん聞いて!日本が反省しないの!日本は武力介入しようとしてるよ!」
- 中国「ごめん、色々やりすぎた謝るから和解してほしい」高市首相「舐めてんの?」 [834922174]
