- 1 名前:デフォルトの名無しさん mailto:sage [2020/11/16(月) 04:14:40.64 ID:fB5+0hxC.net]
- 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/
- 375 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 23:58:38.65 ID:yW2IX31f.net]
- ・Goは優れた既定言語(default language)で、システムやサーバ、API、デーモン、データベース、Webサイトなどに適しています。Goはパフォーマンスと開発者の生産性を、高いレベルで両立させています。
・Dart + Flutterは、GUIベースアプリケーション(モバイルおよびデスクトップ)に適しています。Flutterは、複数のOSとフォーマットで動作する単一クライアントアプリケーションの記述というアイデアを、高いレベルで実現しました。 ・Rustは、詳細なコントロールが必要な場合に適しています。低レベルな処理やカーネルなどです。Rustは精密性に優れていますが、その分、複雑さは大きくなります。このトレードオフが理に適っている場合もあります。そうであれば、Rustが最適です。
- 376 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 23:59:45.15 ID:yW2IX31f.net]
- Goは1度の週末で学べますし、2週間あればプログラミングに習熟することができます。もっと早い人もいるでしょう。他のいくつかの言語で経験があれば、Goは非常に短期間に習得できます。
Goを導入した企業と会った時に、彼らが一貫して話してくれることのひとつが、Goは習得の容易な言語だ、という点なのです。
- 377 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 02:00:07.60 ID:Nn8EIl24.net]
- ジェネリクス結局どうなるんだよ
- 378 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 03:54:00.93 ID:y89gNJMQ.net]
- 議論の末リジェクトされたって結構前に見たけども
- 379 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 06:20:02.21 ID:MYnJXR31.net]
- あったら便利かも知れないけど、無くても不便を感じてないんだよな
多分、普段に書いてる案件の方向性の違いじゃないかな ライブラリ書きな人は欲しがるのかも
- 380 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 06:24:20.93 ID:Nn8EIl24.net]
- Webアプリだと必要なケースはほぼないかな
複雑なデータ構造を扱う分野とか数値計算なら必要だろうね
- 381 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 07:33:17.81 ID:MYnJXR31.net]
- 複雑なデータ構造というより、多様なクラスじゃないか?
クラスが異なるが構造は同じ、といった場合に処理を使い回すための機能だから たとえばList<Animals>とか
- 382 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 09:48:01.53 ID:XTRtAjen.net]
- https://github.com/golang/go/issues/43651
spec: add generic programming using type parameters #43651 Labels: Proposal Proposal-Accepted Proposal-FinalCommentPeriod アクセプトされたぞ
- 383 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 09:52:52.27 ID:XTRtAjen.net]
- あと議論の末リジェクトされたのはエラーのキャッチでは?
https://github.com/golang/go/issues/43777 proposal: Go 2: catch error handler #43777
- 384 名前:デフォルトの名無しさん [2021/02/11(木) 10:26:29.66 ID:5PMeOFeV.net]
- >>375
おお!承認されたのか ところで、go2はいつくるの?
- 385 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 11:34:18.35 ID:XTRtAjen.net]
- https://blog.golang.org/generics-proposal
v1.18β(今年末)にはジェネリクスが入ってる予定だそうだから そこからしばらくexperimental feature扱いになるとして だいたいv1.20(再来年頭)かそこらでexperimentalじゃなくなってv2.0にするんじゃないか まあこれは一番順調に行ったらって予想だけど
- 386 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 12:43:54.91 ID:qJXsIZl0.net]
- >>375
ファイナルフュージョン承認!
- 387 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 13:01:17.98 ID:ZLyjCLFI.net]
- 実装難しそうだから相当先だろうな
特殊化をコンパイル時にやるのか実行時にやるのかすら決まってないみたいだ
- 388 名前:し []
- [ここ壊れてます]
- 389 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 14:10:14.32 ID:MYnJXR31.net]
- Javaのジェネリクス導入時みたいに、総称型コレクションの利用で警告を出すような真似はしないで欲しい
- 390 名前:デフォルトの名無しさん mailto:sage [2021/02/11(木) 14:18:10.77 ID:MYnJXR31.net]
- なんで Java ではデフォルトで「raw型の使用を無視」にしとかないで、探して無視に指定するまでうるさく警告を出すことにしたんだろう
- 391 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 03:53:22.35 ID:Cyc/UqZY.net]
- 結局仕様はほぼJavaと同じか
- 392 名前:デフォルトの名無しさん [2021/02/12(金) 13:19:24.35 ID:vQ8mDll0.net]
- エラーキャッチリジェクトかよ・・
- 393 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 19:55:13.35 ID:IU5AN8go.net]
- issue の本文で
func xxx() xxx, error とか nill とか、go 使ってないような奴なのは見え見えだし、 妥当じゃないか?
- 394 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 01:19:56.35 ID:uGwTnb+S.net]
- ジェネリック馬鹿を排除できるだけでもgoを採用する意味あるわ。
- 395 名前:デフォルトの名無しさん [2021/02/13(土) 02:05:58.45 ID:b8+Lb4od.net]
- 実務でgoやってみたいけど今は未経験の募集あまりないな
- 396 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 02:18:54.12 ID:x/Vsj8xA.net]
- ジェネリクス反対派って結局何がしたかったんだろう
訳がわからん 言語の設計者でもないのに
- 397 名前:デフォルトの名無しさん [2021/02/13(土) 03:56:17.09 ID:qDntuLeS.net]
- >>386
お薬かな
- 398 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 05:14:35.81 ID:0tM9M8c+.net]
- Java ではジェネリクス過激派による強制で多いに迷惑したから
- 399 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 08:17:20.01 ID:x5WG3KQe.net]
- >>383
Javaと同じってどこが?
- 400 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 09:26:28.23 ID:0tM9M8c+.net]
- 正直、意味があるのか俺には理解できない
他の言語は継承による拡張なので共変反変が意味を持つ でも go は継承による関係じゃなくて、インターフェースを具備しているかどうか 元々がインターフェースさえ合致していれば可換なのだから型パラメータには意味がない そう思ってしまう どうしても型パラメータが必要な用例、それを目立つように挙げて貰いたい
- 401 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 10:56:01.28 ID:QtTWHsVQ.net]
- Goで便利なのはsort関数とかmap関数なんかではないの?
今まで型ごとに書くしかなかったんだし。
- 402 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 12:32:44.33 ID:0tM9M8c+.net]
- まずmapはインターフェースをキーとしても値としても使えるから問題にならない
ソートもsort.Interfaceを具備したコレクションでソートするから、Swapとかのための比較可能な値を返すメソッドをインターフェースで持てば良い 構造体はただの入れ物に過ぎないよね
- 403 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 12:40:39.64 ID:0tM9M8c+.net]
- インターフェースで構造体の多態性を確保してるから、それが既に型パラメータ以上の柔軟さを持ってる
なんでインターフェースよりも性質的に劣ってる型パラメータを導入しなきゃなんないの? 頭のいい人が、それでも導入が必要だと判断したのだから、そこには理由があるはず でも頭が悪いから、俺ではissueで見つけられなかった
- 404 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 12:54:38.86 ID:QtTWHsVQ.net]
- >>394
インターフェイスを使ってしまうと毎回型チェックしないといかんし、コンパイル時に縛りもかけられんでしょ。 テストで網羅するといっても、ユーザに使ってもらうライブラリなんかではそうもいかん。 静的解析でもうまくいかんこともあるし、柔軟性を持ちたいのではなくて、コンパイル言語として担保したいんじゃないか? 俺は今まで型ごとに関数作ってたけど、インターフェイスでなんとかしてたって事?それも極端だな。
- 405 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 13:03:01.32 ID:0tM9M8c+.net]
- >>396
というかインターフェースを型パラメータみたいな物として使っていて問題なかったと言ってるんだよ 機構として使い回すために、その機構に使いたかったらインターフェースを実装する ソートの機構が使いたかったらsort.Interfaceを実装するでしょ
- 406 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 13:27:48.18 ID:0tM9M8c+.net]
- >>396
そもそも何で型チェック? メソッドの挙動やらが違うのに同じインターフェースを使ってるのか? Javaとかの型パラメータでも、まさか中でキャストして使ってるのか? 偶然にインターフェースを実装してしまったケースなんて想定しても仕方ないと思う それは設計ミスだから 区別用にダミーのメソッド生やしとけば?
- 407 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 13:30:40.12 ID:+kP5eWz9.net]
- goは組み込みで要素が型付けされた動的配列と連想配列を持ってるから、他のコレクションはあまり必要ないんだよね
それらでカバーできないようなケースってそもそも大抵は特殊な状況なんで、汎用的なコレクションではなくアプリの要請に合わせて独自に作るのが自然
- 408 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 13:45:02.72 ID:0tM9M8c+.net]
- んな意味不明なジェネリクスより
>>251 のバグを直して欲しいんだよな
- 409 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 13:54:07.96 ID:QtTWHsVQ.net]
- >>397
ジェネリクスはロジックを使い回すのためだけにあるわけではないと思うよ。 Sortableなんてinterfaceを実装した配列を引数に受ける関数の戻り値の型は何になる? Sortableの配列が帰ってきても無意味でしょ。 >>398 中でキャストするとかは意味不明じゃないか。 ジェネリクスがない頃のObjectの配列を受けざるをえないメソッドはまた違っただろうけど。 ダミーのメソッドとか完全に意味不明。
- 410 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 14:07:47.74 ID:0tM9M8c+.net]
- >>401
Sortableの配列を返すので正しい 文意からソート結果だろ? 君が型チェックしなきゃならんとか意味不明な事を言い出すからエスパーしたんだよさせるなよ インターフェースならメソッドを呼ぶだけだから型チェックなんて話は出てこない 型チェックするってことは実体に変換しなきゃならんという話だろ そうでない場合に考えられるケースとして、偶然に同じインターフェースを実装してしまった構造体を、偶然に渡してしまうコーディングミスを考えているとエスパーしてあげた そんな阿呆な設計をしてるなら、引数としてるインターフェースにダミーのメソッドを生やしとけば、別のインターフェースになるから誤って渡すミスは無くなる エスパーさせるなよ
- 411 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 14:21:47.27 ID:QtTWHsVQ.net]
- >>402
ソート可能なインターフェイスを受けてソート可能なインターフェイスが帰ってきても何も得しない。 [T Sortable]な関数の返り値は[]Tで十分でしょ。 結果がもう一度ソート可能かなんか必要な情報でない。 intがSortableだとして、返り値が[]Sortableだと、結果は型チェックしないとだよね。 []intが直接帰ってきた方が効率的だし、無駄なコードではないよね。 やってることも自明。 mapとかflattenなんかなんかはジェネリクス使えないと使い物にならんと思うが。 エスパーするならジェネリクスの使いみちをエスパーしなよ。
- 412 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 14:23:26.25 ID:x5WG3KQe.net]
- 単一の引数だけなら>>395のようにインターフェースで代用できるけど
複数の引数や戻り値の型を合わせたいという場合は型引数が使いたいよね。
- 413 名前:デフォルトの名無しさん [2021/02/13(土) 14:34:17.23 ID:qDntuLeS.net]
- >>398
キャストしないといけないの理解できてないあたり、型パラメータとインターフェースでの実装の違い理解してなさそう
- 414 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 15:24:34.05 ID:0tM9M8c+.net]
- >>404
複数の別のインターフェースを引数に持たせれば問題ないでしょ それぞれが型パラメータとして機能するんだから 戻り値も同じ………いや、戻り値に関しては一概には言えないのか でも実体ポインタを返すメソッドは>>251のバグに引っ掛かるんで使いたくない → 戻り値の実体ポインタはインターフェースを備えてるならば、本来は反変でアップキャストされてインターフェースを返しているとも判断されるべき このバグで多態が機能しなくなるから使いたくない 具体的にはシグネチャが違うため、変種をコレクションに混在して格納できない ジェネリクスを導入して個別に実体ポインタを返せるようにした時に同じ現象になるはず このメソッドを持つジェネリクスな構造体は、それぞれ可換でないので多態が適用できない コレクションに混在させられない インターフェースを返す設計ならば、それらは実体は異なっても多態が機能してコレクションに混在格納できる よって、インターフェースを返す方が設計として抽象度に優れている 以上の論旨から、ジェネリクスはインターフェースの下位互換だとしか見えない
- 415 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 15:35:29.60 ID:x5WG3KQe.net]
- >>406
違くて、2つの引数があるときにその型が同じであってほしい場合とかね。
- 416 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 15:42:03.45 ID:0tM9M8c+.net]
- >>407
その場合には同じインターフェースの二つの引数を持つことによって問題がある事例について具体的に指摘してくれ 型が同じことは保証されてるぞ
- 417 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 15:44:29.17 ID:QtTWHsVQ.net]
- >>406
インターフェイスはインターフェイスで使えば良くて、ジェネリクスで効率的にできたり型を自明にできる部分はジェネリクスを使えばよいでしょ。 今でもコードジェネレータなんかで作ってる部分もあるだろうし。 どちらかがあれば原理的にどちらかが不要なのと、 どちらかがあれば片方は作ってはいけないのは別。 Sortとか、mapの[T,U]のKeyのみ、Valueのみを([]T,[]U)と、配列として返す関数なんか書こうと思ったらジェネリクスが無いと型チェックの嵐でしょ。 確かにキャストではないけど、型チェックもノーコストではないよ。 ジェネリクスのある言語使った事無いんじゃないの? >>403のケースなんかはどうするん?型チェックすんの?
- 418 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 15:45:29.07 ID:QtTWHsVQ.net]
- >>408
map[T]Uを受けて、[]Tと[]Uを返す関数。
- 419 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 15:51:17.90 ID:0tM9M8c+.net]
- とか顔真っ赤にして主張してきたけど、具体的にちょっと面倒な事例に自分で気づいてしまった
new() が厄介だな new の代わりにインスタンスを生成する factory 一時クラスを外から渡してやれば解決するんだけど面倒ではある
- 420 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 15:56:48.27 ID:x5WG3KQe.net]
- >>408
結局は返り値の話に帰着するのかもしれないけど (T, T) -> T な関数が欲しいとかね。
- 421 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 16:10:36.47 ID:QtTWHsVQ.net]
- 返り値に関係なかったら、Tとそれに対するfunc(x T)を受ける関数とかかなぁ。
- 422 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 16:10:51.14 ID:0tM9M8c+.net]
- >>410
納得した メソッド引数のシグネチャが異なるものを一本化して書けるわけか 確かにインターフェースじゃmap[T]Uを引数とした共通メソッドは書けない T,Uがインターフェースだとしても、それぞれのインターフェースの組ごとにメソッドが必要になるから
- 423 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 16:12:52.49 ID:QtTWHsVQ.net]
- >>414
伝わってよかった。逆もしかり。 []Tと[]Uを渡してmap[T]Uを返してくれる関数も。 Pythonでいうとzip関数的な。
- 424 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 17:03:51.51 ID:0tM9M8c+.net]
- >>415
JavaだとProxyを使って何でも解決するという黒魔術的解決手段があるのが恐ろしい デバッグ用だよねとか思ってると struts とかwebフレームワークのソース読んだ時に、インタセプターとかで普通に使われていて更にビビる
- 425 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 17:45:13.81 ID:F3GRWro3.net]
- >>416
Springの十八番だな。 ただ、ああいう方法だと結局、ランタイムで死ぬかどうかをテストで担保するしかないって方向性に行きがち。 あとパフォーマンスももちろん遅い。 今回のジェネリクスがどう実装されるかが一番気になるけど、俺的には素直に関数たくさん作って欲しい。
- 426 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 01:42:02.77 ID:o9olz+i9.net]
- これメソッドには型パラメータ無理なの?
- 427 名前:デフォルトの名無しさん [2021/02/15(月) 02:10:12.40 ID:QPKY0Zj9.net]
- >>400
どう考えてもバグじゃないと思う。Goのinterfaceとstructの関係はembedしなければほぼ静的方チェックありの ダックタイピングだから「そのメソッド実装がインタフェースAを実装している」と思い込んでるのは自分であって 実際にはJavaのようなimplementではないです。もっと言うなら、ルックアップが行われるのは、実行時であり コンパイルは厳密な型チェックが行われます
- 428 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 07:00:31.98 ID:fLCzNLbm.net]
- >>419
んじゃ、言語拡張要望と言い直そう メソッドの戻り値がインターフェースでの戻り値の型に反変できるなら、インターフェースを具備していると判定して欲しい、と
- 429 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 07:12:07.78 ID:E7fw/gtI.net]
- ポインタじゃなくてインターフェースを返すのが正しいのでは?
何故ポインタを返す インターフェースのポインタにはなんの意味もない
- 430 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 07:45:45.18 ID:NOYsfhr4.net]
- >>421
いや、インターフェースのポインタじゃなくて、構造体ポインタ 構造体ポインタ*SubがインターフェースISubを具備しているのは代入させて確認 んでISubを返すメソッドを持つ別のインターフェースを具備させようとした時に、戻り値としてISubではなく、ISubに代入可能な*Subを返させると、シグネチャ不一致でエラー ISub を期待しているのに *Sub を返していると インターフェースを具備しているかの判定でも、反変を考慮してくれないだろうか、という要望 そうすればインターフェース対応でキャストして返すメソッドと構造体固有のメソッドの二本を作らなくて済むから 作れよ、と言われちゃうか
- 431 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 08:02:45.25 ID:NOYsfhr4.net]
- >>421
シグネチャが合わないコンパイルエラーの時だけ、戻り値の型が互換(反変可能)かで追加チェックさせればいいから、パフォーマンスが極端に悪くなることはないはず という見立て
- 432 名前:デフォルトの名無しさん [2021/02/15(月) 14:32:51.97 ID:QPKY0Zj9.net]
- >>421
インタフェースを返すのが理論的にも実装にも正しいけど、インターフェースのポインタは埋め込みを するときにコンパイラが使う。あんまりこれをやるモジュールは(メモリサイズが大きくなるから?) 標準ライブラリ以外見ないけど。 >>423 「 ISub を期待」というのは分からなくも無いけど、実行時じゃなければ分からないチェックを コンパイルの速度と、言語の厳格性を犠牲にして、(かなり)保守的な言語がやると思えないですね
- 433 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 21:45:03.79 ID:cMG1yy0u.net]
- Go 1.16 is released
https://blog.golang.org/go1.16
- 434 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 00:00:24.35 ID:Nj/E13Sa.net]
- 今回の目玉は embed で、あとは modules がデフォルト利用になったくらいか
96% って、どこから来た数字なんだろ?
- 435 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 01:11:43.46 ID:cGA2Qyj5.net]
- ioutilオワコンになったのか
- 436 名前:デフォルトの名無しさん [2021/02/18(木) 01:58:45.29 ID:DBnOoZ1k.net]
- え、これすごくない?
ファイル内容のバイナリを変数に設定できるのか クソ便利そう
- 437 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 02:18:54.53 ID:cGA2Qyj5.net]
- 凄くはないがまた変なものを入れたなあ
- 438 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 08:15:16.68 ID:a7MZxCIG.net]
- そんなに変なもの?
結構ニーズあったじゃん。
- 439 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 10:42:52.64 ID:CVa006wI.net]
- embed例を交えながら詳しく懇切丁寧に説明してくれ
- 440 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 10:59:32.89 ID:a7MZxCIG.net]
- >>431
WebUIを持ったアプリの画像なんかのアセットをバイナリ一つで配布したいとか。
- 441 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 19:44:54.68 ID:13d7fDKM.net]
- それはしゅごい
- 442 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 01:02:34.28 ID:h/t0+GoU.net]
- それって凄いことなの?逆に今までできなかったの?
- 443 名前:デフォルトの名無しさん [2021/02/19(金) 02:06:27.21 ID:C4/TpWTT.net]
- 外部ライブラリで出来てたから、そんなにインパクトはない。むしろNotifyContextの方が意味ありそう
こういう事は他言語だと非常にやりづらい
- 444 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 02:54:55.96 ID:h/t0+GoU.net]
- NotifyContext例を交えながら詳しく懇切丁寧に説明してくれ
- 445 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 02:57:11.30 ID:EqIzDHt7.net]
- 自分で調べろや
- 446 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 05:37:00.99 ID:b7O3Qybq.net]
- android アプリを調べようと、go android 常駐アプリ で検索したんだけど、go の記事
- 447 名前:ェ探しづらい
以前からポケモンが引っ掛かっていた上に、次のandroid11はGoエディションなのか? [] - [ここ壊れてます]
- 448 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 10:48:48.97 ID:b7O3Qybq.net]
- 1.16 だと、Deprecation of io/ioutil は面倒に感じるなぁ
一杯使っちゃっていて
- 449 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 12:08:15.81 ID:AdT3uMXC.net]
- 検索ワードはgolangって言うのはこのスレの常識
- 450 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 12:48:22.08 ID:Gn0QOwDd.net]
- そういやgolang.jpってもう活動していないのか
日本のgoコミュニティの総本山たるべきドメイン名を無駄にしやがって
- 451 名前:デフォルトの名無しさん [2021/02/20(土) 16:13:03.32 ID:seCRjC7e.net]
- ほんと返すがえすも go は名前がクソい
- 452 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 17:07:51.09 ID:QogkRbMK.net]
- ほ〜ら〜 あしもとを見〜て golang
- 453 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 00:08:47.19 ID:4ZSApsu7.net]
- 名前よりもマスコットがキモすぎるのが気になってしかたがない
- 454 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 00:49:16.30 ID:1AmDYpOZ.net]
- キモネズミ
- 455 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 03:58:10.72 ID:XsukC5HX.net]
- ヽ( ;゚;ж;゚;)ノ ゴーファッ
- 456 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 07:48:25.22 ID:y91K2jdN.net]
- 俺みたいにゴーファ君を結構可愛いとか思う人間がいるから厄介
- 457 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 20:35:02.33 ID:H/D/EzLk.net]
- JAVAのマスコットよりはまし(´・ω・`)
- 458 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 22:08:56.40 ID:RiVq+6hw.net]
- c#はマスコットいないんだぞ
クラウディアとか藍澤光とかいたけどな
- 459 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 22:43:47.36 ID:y91K2jdN.net]
- マスコット…冴子先生がCortanaとして復職してくれたなら、Cortanaボタンを非表示にしないのに…
- 460 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 00:06:54.06 ID:X+4sJ2iC.net]
- マスコットはD言語がカワイイ。LISPが最キモ。
- 461 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 00:53:22.82 ID:vmWIyuyK.net]
- LISPにマスコットなんてあったのか・・とおもってググってみたら
たしかにこれはエグい キモすぎ
- 462 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 18:22:17.90 ID:GfaSrtw3.net]
- なんか gui ライブラリで調べるといろいろ出てきてよくわからん
マルチプラットフォームな gui って何がええんや? Qt は golang で使ってる人おるんかえ?
- 463 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 18:24:31.58 ID:Xis0SD1d.net]
- GoでGUIアプリを作っている人はほぼ存在しない
- 464 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 18:48:30.06 ID:GfaSrtw3.net]
- >>454
ありがとう、そうなんか 主にバックエンドで使われてる感じなんかな https://i.imgur.com/pGBnPCA.png ふむう
- 465 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 20:26:35.06 ID:MldvwhvK.net]
- ローカルHTTPD建てて、ブラウザからAPIで操作するアプリは提供してる
- 466 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 15:36:36.73 ID:zz5KyfHR.net]
- >>455
ウチはElectronでGUI作ってバックグラウンドにGo使うてる
- 467 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 16:06:31.74 ID:+9qO7MJU.net]
- >>457
面白そうだね オレオレGUIツールだと.netが楽すぎるのでそっちで書いちゃうけどGOで書くのも楽しそうだ
- 468 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 16:23:00.26 ID:ADOMIACK.net]
- GUIは俺は普通にブラウザ起こしてるな。
IE使われると辛いけど。
- 469 名前:デフォルトの名無しさん [2021/02/23(火) 17:19:08.91 ID:VHVs6NAa.net]
- 簡単なguiツール作るならlorcaオススメ
- 470 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 20:02:44.99 ID:K/n0XAdC.net]
- for (大分類) {
for (中分類) { for (小分類) { wg := sync.WaitGroup{} cpus := runtime.NumCPU() errCh := make(chan error, cpus) defer close(errCh) for (アイテム) { wg.Add(1
- 471 名前:)
go func() { defer wg.Done() errCh <- 他の関数() }() } err := <-errCh if err != nil { return だめです } wg.Wait() } } } こんなコードでwaitしっぱなしになるんだけど なぜなんでしょうか(´・ω・`) 途中の即時関数にwgのポインタ(&wg)渡すのもやってみたけど、 結果変わらなかった [] - [ここ壊れてます]
- 472 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 21:17:47.85 ID:PToR0U76.net]
- >>461
・errCh <- 他の関数() はバッファが一杯の場合ブロックする ・err := <-errCh はブロックする goのchannelは初心者が使うと極めてデッドロックを引き起こしやすいので、まずはchannel使わずに正しく動作するものを作れるようになってから手を出すことを強くお勧めする
- 473 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 21:36:09.19 ID:K/n0XAdC.net]
- >>462
ありがとうございます 全体としては物はもうできていて、上記の処理は大量にファイルを出力するため重く 速度改善としてgoroutineを入れようと試みてました。 まあファイルシステムのi/oがボトルネックだとそんなに変わらないかもしれませんが…
- 474 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 22:03:06.71 ID:K/n0XAdC.net]
- エラー判定をgoroutineと同じ階層で判定することで返ってくるようになりました
一応オチとしてめも 速度改善はならず
- 475 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 22:38:49.04 ID:VENYjQF8.net]
- >>461
ぱっと見しただけで検討しないで書くけど errCh の受付数はcpuの数 errChの読み込みが一回しかしてないからアイテム数が受付数を越えたら書き込みがブロックされてwgがDoneされない DoneされないからWaitは抜けてこない のでデッドロックということでは?
|

|