- 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/
- 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は抜けてこない のでデッドロックということでは?
- 476 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 22:41:20.70 ID:K/n0XAdC.net]
- >>465
ご指摘のとおりでした なのでgoroutineと同じループの中でerrChを取るようにしたら動作しました wg作る位置も動かないからだんだんスコープ狭めていったんですが 一番外のforの外で作って動きました
- 477 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 23:35:24.39 ID:yNATq+Pp.net]
- それみんな絶対最初ハマるよな
- 478 名前:デフォルトの名無しさん mailto:sage [2021/02/26(金) 08:25:09.52 ID:Bk6XWue8.net]
- Goのグラフィックって、標準だとこんなに低レベル処理なパッケージしかないのか……
JavaScriptで言うならImageDataしかない感じ 誰かのライブラリ使わないと線を引くだけでも大変
- 479 名前:デフォルトの名無しさん mailto:sage [2021/02/26(金) 10:33:50.46 ID:jNY0Xh1+.net]
- Golang でグラフィックやろうと思う時点で変
- 480 名前:デフォルトの名無しさん mailto:sage [2021/02/26(金) 12:53:20.65 ID:Bk6XWue8.net]
- イメージを生成するサービスを考えてたん
- 481 名前:デフォルトの名無しさん mailto:sage [2021/02/26(金) 12:57:25.97 ID:jNY0Xh1+.net]
- ∧,,,∧
(・ω・` ) スマンカッタ・・・ / y/ ヽ ━(m)二フ⊂[_ノ (ノノノ l l l )  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
- 482 名前:デフォルトの名無しさん [2021/02/27(土) 00:21:54.45 ID:vRM0KdjR.net]
- 標準ライブラリなんて小さい方がええやん。HTML5のCanvas APIみたいのならgithubに腐る程ある
github.com/fogleman/gg
- 483 名前:デフォルトの名無しさん mailto:sage [2021/03/01(月) 04:10:54.66 ID:TpLFIcMN.net]
- Goに期待しすぎだろ
- 484 名前:デフォルトの名無しさん mailto:sage [2021/03/01(月) 05:09:43.67 ID:slICkU79.net]
- まあ、イケイケGoGoジャーンプ!って言葉もあるくらいやし…
- 485 名前:デフォルトの名無しさん mailto:sage [2021/03/01(月) 18:31:47.86 ID:yHt6Qgj2.net]
- 姫ちゃん…
- 486 名前:デフォルトの名無しさん mailto:sage [2021/03/01(月) 20:51:58.46 ID:Uq9hcXch.net]
- https://i.imgur.com/2zyfBy2.jpg
goで思い出すのはこれだった
- 487 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 00:18:59.60 ID:p9OW2PxW.net]
- golang.jpドメイン譲渡したのね
- 488 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 22:42:43.62 ID:jgL4cdff.net]
- 本当だ。いまのところ微妙そう
- 489 名前:デフォルトの名無しさん mailto:sage [2021/03/04(木) 00:12:11.42 ID:zOLUDfBP.net]
- bloggerってまじかよ
- 490 名前:デフォルトの名無しさん mailto:sage [2021/03/05(金) 23:37:39.02 ID:NrMSs+Xp.net]
- 16がでてしばらくたつけど、何か問題があった人いる?
無かったら入れようとか姑息
- 491 名前:デフォルトの名無しさん mailto:sage [2021/03/06(土) 00:21:56.60 ID:fsuLBHjt.net]
- 当初から分かってたがPlan9同様、実用言語ではなく
他の言語のリファレンスとしての研究用言語になったな
- 492 名前:デフォルトの名無しさん mailto:sage [2021/03/06(土) 00:38:15.94 ID:KM3KYugu.net]
- 実用してるが…?
- 493 名前:デフォルトの名無しさん mailto:sage [2021/03/06(土) 00:40:14.00 ID:d8HwcXCo.net]
- もともとグーグルの社内言語だったと聞くが
本家では今も活用されているのかね
- 494 名前:デフォルトの名無しさん [2021/03/06(土) 00:45:32.22 ID:KIij34oc.net]
- Plan9を実用してる物好きもいるわけだし
- 495 名前:デフォルトの名無しさん mailto:sage [2021/03/06(土) 01:20:00.90 ID:W4toJ95e.net]
- モンストの通知サービスの一部でも、他の言語とのトライアルの結果で採用したとのインタビュー記事が、つい先日あったし(日経XTECH)
- 496 名前:デフォルトの名無しさん mailto:sage [2021/03/06(土) 01:21:35.92 ID:W4toJ95e.net]
- 学習が簡単というのがデカかったらしい
分かってるな
- 497 名前:デフォルトの名無しさん mailto:sage [2021/03/27(土) 12:51:18.06 ID:odHdDNPL.net]
- CodeZine(コードジン): 2020年のGo言語利用状況が明らかに、9648名の開発者が回答.
https://codezine.jp/article/detail/13819 正直、手前味噌過ぎて萎える 無作為アンケートならともかくなぁ
- 498 名前:デフォルトの名無しさん mailto:sage [2021/04/24(土) 03:38:06.28 ID:ifUTO7D9.net]
- echoでAPIのパラメータの初期値を設定する方法って
ぐぐると構造体作ってコンストラクタで設定しよう!とか出てくるんだけど なんかすごく面倒な上記述場所が離れててわかりにくい気がしてならないんだけど 例えばこんなのは悪手? まあ悪手なんだろうけど func getParam(p string, defaultValue interface{}) interface{} { switch defaultValue .(type) { case string: if p == "" { return defaultValue } else { return p } case int: ret, err := strconv.Atoi(p) if err != nil { return defaultValue } return ret } return nil } pageNo := getParam(c.Get("pageNo"), 1).(int) 一般的な方法ってあるのかね
- 499 名前:デフォルトの名無しさん mailto:sage [2021/04/28(水) 00:42:58.14 ID:1SQ+syPV.net]
- 勢いないな
特に語ることがないんだろうけど寂しい
- 500 名前:デフォルトの名無しさん mailto:sage [2021/04/28(水) 00:50:07.66 ID:yDqZolk/.net]
- 2こないとずっとこうだろな
- 501 名前:デフォルトの名無しさん mailto:sage [2021/04/28(水) 20:28:06.34 ID:4UCtxfw0.net]
- 見上げて〜golang〜♪
- 502 名前:デフォルトの名無しさん mailto:sage [2021/04/29(木) 01:22:39.54 ID:466xktgC.net]
- ひさしぶりに書く機会があったが
やっぱクソだなこの言語
- 503 名前:デフォルトの名無しさん [2021/04/29(木) 13:27:14.24 ID:VDhRy7EO.net]
- >>492
けっこう同意
|

|