Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。
公式ドキュメント
http://golang.org/doc/
日本語訳
http://golang.jp
※前スレ
Go language part 2
https://mevius.5ch.net/test/read.cgi/tech/1510395926/
探検
Go language part 3
■ このスレッドは過去ログ倉庫に格納されています
2019/10/17(木) 21:38:04.78ID:wMsZ+t6y
371デフォルトの名無しさん
2020/04/01(水) 11:07:46.88ID:8ZaizB3r GetLastError() って Windows OS のみ?
372デフォルトの名無しさん
2020/04/01(水) 12:24:45.60ID:mttQXJSO Cだと戻り値でデータ返したりエラーコード返したりやりたい放題で一貫性が無さすぎ
Javaとかはtry catch地獄
Cでレジスタで戻り値返さずに複数値返せる設計にしてれば標準となって皆幸福だったのに
Javaとかはtry catch地獄
Cでレジスタで戻り値返さずに複数値返せる設計にしてれば標準となって皆幸福だったのに
373デフォルトの名無しさん
2020/04/01(水) 12:30:21.07ID:vhJXsBKc 最近のは(小さい)構造体なら返せるやろ
デカいのは無駄だし
mallocしたのだと解放が面倒だが
デカいのは無駄だし
mallocしたのだと解放が面倒だが
374デフォルトの名無しさん
2020/04/01(水) 14:22:10.98ID:BVkSt5Rw375デフォルトの名無しさん
2020/04/01(水) 14:28:21.58ID:8ZaizB3r スレ違い
376デフォルトの名無しさん
2020/04/01(水) 16:03:45.28ID:aJRtEUWu377デフォルトの名無しさん
2020/04/02(木) 08:03:50.65ID:I1YrR7G1 >>374
ん、その昔の段階で戻り値の返し方で言語仕様的に一工夫してくれてたらという正直ムチャ振りなレスだったんだけど
ん、その昔の段階で戻り値の返し方で言語仕様的に一工夫してくれてたらという正直ムチャ振りなレスだったんだけど
378デフォルトの名無しさん
2020/04/02(木) 17:36:34.36ID:iZOXAvDa Goって複数の戻り値はスタックにおいてるのかね?
その辺どうなってるんだろう
その辺どうなってるんだろう
379デフォルトの名無しさん
2020/04/02(木) 21:18:47.20ID:Fd9E2tX0 コンパイル時にサイズが決まるならスタックに積んで返すのは難しくないだろう。
今どきCでも構造体を返したりできるし。
今どきCでも構造体を返したりできるし。
380デフォルトの名無しさん
2020/04/14(火) 13:45:39.46ID:/GVdva5P 老人介護用言語すぎてストレスしかない
なんで今の御時世にこんな微妙な言語使わなければならんのだ
ポインタ意識したりするよりドメイン層の設計に時間を割いたほうがマシだわ
はぁ…
なんで今の御時世にこんな微妙な言語使わなければならんのだ
ポインタ意識したりするよりドメイン層の設計に時間を割いたほうがマシだわ
はぁ…
381デフォルトの名無しさん
2020/04/14(火) 13:52:00.63ID:cNjCA9WS 無理して使わんでもええがな
382デフォルトの名無しさん
2020/04/14(火) 13:58:34.65ID:VpWClbHP どの言語にも言えるけど
全ては実験台でしかない
全ては実験台でしかない
383デフォルトの名無しさん
2020/04/14(火) 14:26:34.45ID:/GVdva5P 権限だけ持ってる考えなしの馬鹿が採用を決めたせいで無理して使うしかないんだわ
トラップ多くてその調査のせいで学習コスト跳ね上がるし
並列処理簡単って動かすだけならそりゃ簡単だろうが…ってレベルの完成度の低さで
CPUフルで使い切るような事やらせようと思ったら面倒さも管理も段違いの面倒さ…
愚痴はまぁともかく、structって脳死して全部ポインタで扱うほうがいいんけ?
というかstructに実装持たせるような意識なんて投げ捨てて旧石器時代を目指すほうが良い言語?
トラップ多くてその調査のせいで学習コスト跳ね上がるし
並列処理簡単って動かすだけならそりゃ簡単だろうが…ってレベルの完成度の低さで
CPUフルで使い切るような事やらせようと思ったら面倒さも管理も段違いの面倒さ…
愚痴はまぁともかく、structって脳死して全部ポインタで扱うほうがいいんけ?
というかstructに実装持たせるような意識なんて投げ捨てて旧石器時代を目指すほうが良い言語?
384デフォルトの名無しさん
2020/04/14(火) 14:32:51.20ID:ARe9d0+J あくまで関数が主体であり、structはオブジェクト指向的な実体というより、単なる文脈と考えればいい
Rustも同様の考え方だし、C#なんかも最近はそういう方向へ進みつつある
善し悪しはともかく最近の流行りではある
Rustも同様の考え方だし、C#なんかも最近はそういう方向へ進みつつある
善し悪しはともかく最近の流行りではある
385デフォルトの名無しさん
2020/04/14(火) 14:38:21.41ID:Nk5zmway386デフォルトの名無しさん
2020/04/14(火) 17:35:01.14ID:pIyDz3cF387デフォルトの名無しさん
2020/04/14(火) 17:47:59.69ID:Nk5zmway ハイパースレッディング的にCPUを並列化したいならGoなんで使うものじゃないよ
388デフォルトの名無しさん
2020/04/14(火) 17:55:25.26ID:6iFFCKsF simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
389デフォルトの名無しさん
2020/04/14(火) 21:22:08.02ID:VoNykKzR >>383
コア数分のgoroutineでCPU使ってくれない?なにかそんなに面倒なことあったっけ?
コア数分のgoroutineでCPU使ってくれない?なにかそんなに面倒なことあったっけ?
390デフォルトの名無しさん
2020/04/14(火) 22:32:46.86ID:mT2xysIe golangのポインタ周りはrangeでイラっとしたくらいだわ
他はわかりやすいし使いやすい印象
他はわかりやすいし使いやすい印象
391デフォルトの名無しさん
2020/04/15(水) 00:46:12.61ID:cYQn0cTu いやいや・・ポインタも構造体の実体からもアクセスがどっちも . とか
トラップすぎて草はえるわ
そりゃさだいたいは問題ないよ、だけどな大体のとこは良いけどたまーに
罠にハマるっていうパターンの問題が一番やっかいな罠になるもんなんだよ
そんな中途半端なことするぐらいならいっそハナから面倒なままにしてくれるか
あるいはしょうっちゅう問題が起きるから常に注意して書く必要がある、ぐらい
のほうがよっぽどマシ
GO言語はこの「だいたいいいけどたまに罠」がクソ多すぎてほんとクソ言語だよ
トラップすぎて草はえるわ
そりゃさだいたいは問題ないよ、だけどな大体のとこは良いけどたまーに
罠にハマるっていうパターンの問題が一番やっかいな罠になるもんなんだよ
そんな中途半端なことするぐらいならいっそハナから面倒なままにしてくれるか
あるいはしょうっちゅう問題が起きるから常に注意して書く必要がある、ぐらい
のほうがよっぽどマシ
GO言語はこの「だいたいいいけどたまに罠」がクソ多すぎてほんとクソ言語だよ
392デフォルトの名無しさん
2020/04/15(水) 01:09:47.19ID:GWGZY8rP /\___/\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
393デフォルトの名無しさん
2020/04/15(水) 02:17:30.11ID:aGpPkdQy 全部ポインタにしてるわ
現代のアーキテクチャからしたら明らかに遅くなりそうだが
C脳だから全部ポインタw
現代のアーキテクチャからしたら明らかに遅くなりそうだが
C脳だから全部ポインタw
394デフォルトの名無しさん
2020/04/15(水) 03:27:51.37ID:j+vnhNUd 全部ポインタは無駄処理増えてパフォーマンス的に良くないようだけど
そうした方が言語トラップを回避できる可能性が高いって時点でうんこであることは間違いないと思うよ
コードをひと目見てすぐ問題があると判断できないようなトラップが散りばめられてて学習コストが低いとか嘘だわ
インポートも微妙、名前ぶつかりすぎでローカル変数名が半端になっていく
エクスポートの仕様も半端、プロパティとかないから構造体のフィールドは全開放で
扱う側に全責任が委ねられてしまうしパッケージ変数とか公開した日にゃノーガード戦法しかない
その割にリフレクションでの制限だけはクソきつくて非エクスポート関数の参照や値の変更は実質ほぼ不可能
あとエラーもうんこ
goのerrorをバケツリレーしていくような実装って、結局のところJavaでいうところの throws Exception を
全メソッドに書いちゃうようなゴミ実装をより面倒くさい記述にしただけみたいな感じ
エラーの中身が型として読み解けないせいで意識しないといけないスコープが広がりすぎるから超めんどくさい
エラー処理をせずもみ消したいときにtry/catchがいらないみたいな、死ぬほどどうでもいい利点くらいしかひねり出せない
言語の決定権がなく仕方がなく使ってるけど、全てを把握できてて自分以外が触らないような
単機能の小さいツール作るくらいの用途くらいでしか使いたくない言語って感じで、書くほどストレスが溜まっていくぜ…
これを絶賛する人たちが本当に最高だと思ってるのかマジでわからんくなる…
そうした方が言語トラップを回避できる可能性が高いって時点でうんこであることは間違いないと思うよ
コードをひと目見てすぐ問題があると判断できないようなトラップが散りばめられてて学習コストが低いとか嘘だわ
インポートも微妙、名前ぶつかりすぎでローカル変数名が半端になっていく
エクスポートの仕様も半端、プロパティとかないから構造体のフィールドは全開放で
扱う側に全責任が委ねられてしまうしパッケージ変数とか公開した日にゃノーガード戦法しかない
その割にリフレクションでの制限だけはクソきつくて非エクスポート関数の参照や値の変更は実質ほぼ不可能
あとエラーもうんこ
goのerrorをバケツリレーしていくような実装って、結局のところJavaでいうところの throws Exception を
全メソッドに書いちゃうようなゴミ実装をより面倒くさい記述にしただけみたいな感じ
エラーの中身が型として読み解けないせいで意識しないといけないスコープが広がりすぎるから超めんどくさい
エラー処理をせずもみ消したいときにtry/catchがいらないみたいな、死ぬほどどうでもいい利点くらいしかひねり出せない
言語の決定権がなく仕方がなく使ってるけど、全てを把握できてて自分以外が触らないような
単機能の小さいツール作るくらいの用途くらいでしか使いたくない言語って感じで、書くほどストレスが溜まっていくぜ…
これを絶賛する人たちが本当に最高だと思ってるのかマジでわからんくなる…
395デフォルトの名無しさん
2020/04/15(水) 04:05:18.88ID:aGpPkdQy 今Go使ってる人はなんちゃっての人は少ないからねえ
まともにGoやってますって人の少なさよ
まともにGoやってますって人の少なさよ
396デフォルトの名無しさん
2020/04/15(水) 07:24:14.59ID:pyZsKR91 はて、ポインタで無駄処理ってのは聞いたことないな
アセンブラのレベルから見ると、実体って概念は配列要素へのアクセスを先頭からの相対位置で行うという、限られた局面でしか現れないもの
あ、自動変数の実現としてスタックを積んでスタックボトムからのオフセットを使用するのは一般的ではあるか
ともかく実体渡しはCとかあの辺りの言語で実装された二次的なもので、あくまでポインタの糖衣構文じゃないの?
俺が最近のCPUを知らないからトンチンカンなのかな?
ベクタ計算がプリミティブに使われない限り、よりマシンに近い記述がポインタだと理解しているんだが
アセンブラのレベルから見ると、実体って概念は配列要素へのアクセスを先頭からの相対位置で行うという、限られた局面でしか現れないもの
あ、自動変数の実現としてスタックを積んでスタックボトムからのオフセットを使用するのは一般的ではあるか
ともかく実体渡しはCとかあの辺りの言語で実装された二次的なもので、あくまでポインタの糖衣構文じゃないの?
俺が最近のCPUを知らないからトンチンカンなのかな?
ベクタ計算がプリミティブに使われない限り、よりマシンに近い記述がポインタだと理解しているんだが
397デフォルトの名無しさん
2020/04/15(水) 11:39:38.66ID:Y2mip1WI せっかくのキャッシュなのに
キャッシュ捨てまくりが発生
キャッシュ捨てまくりが発生
398デフォルトの名無しさん
2020/04/15(水) 11:42:52.38ID:002QZQQA ちゃんと読んで答えてるっぽい奴居て草
今君は川に流れてるウンコを態々拾いに行ったのだ
ばっちぃから触っちゃ駄目だろ、ちゃんと反省しろよ
今君は川に流れてるウンコを態々拾いに行ったのだ
ばっちぃから触っちゃ駄目だろ、ちゃんと反省しろよ
399デフォルトの名無しさん
2020/04/15(水) 13:07:39.95ID:+cwiaTs6400デフォルトの名無しさん
2020/04/15(水) 19:49:21.31ID:pyZsKR91 >>399
それが何で遅くなるのか理解して言ってるか?
ポインタが無駄な処理になるからじゃなく、メモリアクセスとメモリ管理を最適化するため
実体配列のニッチな需要があるかぎりは実体は廃止できないという意見
正直、そういう需要なんて切って捨てていいと思う
Javaみたいに
それが何で遅くなるのか理解して言ってるか?
ポインタが無駄な処理になるからじゃなく、メモリアクセスとメモリ管理を最適化するため
実体配列のニッチな需要があるかぎりは実体は廃止できないという意見
正直、そういう需要なんて切って捨てていいと思う
Javaみたいに
401デフォルトの名無しさん
2020/04/17(金) 18:19:15.53ID:fJoVda10 Javaはスレッド跨ぐ場合はスレッドごとにコピーした値をキャッシュしたりはしているし
それで起きる問題を回避するための手段も用意されてる
Goがただ面倒くさいゴミ言語って話でJavaを例えに上げるのは理解してなさそうに見えちゃわない?
それで起きる問題を回避するための手段も用意されてる
Goがただ面倒くさいゴミ言語って話でJavaを例えに上げるのは理解してなさそうに見えちゃわない?
402デフォルトの名無しさん
2020/04/17(金) 18:27:51.48ID:FR4eJIAH だって Java thread って context switch が遅いんですもの…(仕方ないけど)
403デフォルトの名無しさん
2020/04/18(土) 03:21:59.85ID:7LGZx49d 皆んとこインフラでGo使ってないんか?
クラウドならGo一択だと思ってた
クラウドならGo一択だと思ってた
404デフォルトの名無しさん
2020/04/18(土) 08:06:56.22ID:dJZrVSnf Go製のキラーアプリであるDocker
それをRustで書き直すって話無かった?もう公開されてる?
厳密なコンテキスト操作がGoでは実装できないからって
それとも自分の勘違い?
それをRustで書き直すって話無かった?もう公開されてる?
厳密なコンテキスト操作がGoでは実装できないからって
それとも自分の勘違い?
405デフォルトの名無しさん
2020/04/18(土) 10:25:08.47ID:xaEKv27U Dockerの記述言語なんて使う分には関係ないからキラーアプリとは違うような。
406デフォルトの名無しさん
2020/04/18(土) 17:50:04.38ID:0gvlJnyA コンプライアンスに即した範囲でできるテレワークって事で
最近「他社ゲームのアーキテクチャを調査」ってタスクをやったんだけど
Golangは無いね。Node.jsばっか
個人的にはgo使いたいから、家にいる期間になんか一個作りたいけどなぁ…。
最近「他社ゲームのアーキテクチャを調査」ってタスクをやったんだけど
Golangは無いね。Node.jsばっか
個人的にはgo使いたいから、家にいる期間になんか一個作りたいけどなぁ…。
407デフォルトの名無しさん
2020/04/18(土) 18:26:19.74ID:ZX/dL4qt ゲーム会社でもコンプライアンスの関係でテレワークできない業務なんかあんの?
少なくともゲーム会社よりはお堅い会社に勤めてるけど、全部在宅で何の問題もないな
コードは主にNode.js(オンライン)とPython(バッチ)で、オンラインについてはGoへの書き直しを進めてる
少なくともゲーム会社よりはお堅い会社に勤めてるけど、全部在宅で何の問題もないな
コードは主にNode.js(オンライン)とPython(バッチ)で、オンラインについてはGoへの書き直しを進めてる
408デフォルトの名無しさん
2020/04/18(土) 18:31:11.51ID:0gvlJnyA >>407
外注だからね
外注だからね
409デフォルトの名無しさん
2020/04/18(土) 18:45:55.45ID:zYPZ4Na5 JavaとかScalaで作ってたものをGoに置き換えるみたいな流れは割とある
410デフォルトの名無しさん
2020/04/18(土) 19:32:53.45ID:/YIE32O/ windowsとlinuxで動かさなきゃいけないアプリをJavaで書いてて
全く問題なかったんだけど
実質有償化に伴って他の言語で書き直そうかと思ってるけど
Goってwindows上でも安定して動くのかね?
ちなみに24時間稼働しっぱなしのアプリ
全く問題なかったんだけど
実質有償化に伴って他の言語で書き直そうかと思ってるけど
Goってwindows上でも安定して動くのかね?
ちなみに24時間稼働しっぱなしのアプリ
411デフォルトの名無しさん
2020/04/18(土) 20:00:40.33ID:7LGZx49d そんな君にはC#おすすめ
412デフォルトの名無しさん
2020/04/18(土) 20:18:48.00ID:C8MVcACH まあC#だろな
413デフォルトの名無しさん
2020/04/18(土) 20:31:40.92ID:/YIE32O/ C#ってlinux上ではmonoとか使うわけでしょ?
流石にないわー
流石にないわー
414デフォルトの名無しさん
2020/04/18(土) 20:33:06.29ID:nL76etRG415デフォルトの名無しさん
2020/04/18(土) 20:41:10.89ID:uOWDKjxa416デフォルトの名無しさん
2020/04/18(土) 20:51:17.88ID:3iH77Bzz >>413
ひどい無知
ひどい無知
417デフォルトの名無しさん
2020/04/18(土) 20:57:00.49ID:C8MVcACH >>413
何言ってんのこいつ
何言ってんのこいつ
418デフォルトの名無しさん
2020/04/18(土) 21:20:46.34ID:0gvlJnyA419デフォルトの名無しさん
2020/04/18(土) 21:42:45.13ID:RW5npENu 今からC#勧めるってお前ら悪い奴やな〜
420デフォルトの名無しさん
2020/04/18(土) 22:33:18.98ID:7LGZx49d 今のC#知らない人多そう
特定の言語に拘らず積極的に情報収集した方がいいと思うけどね
スレチだからここまで
特定の言語に拘らず積極的に情報収集した方がいいと思うけどね
スレチだからここまで
421デフォルトの名無しさん
2020/04/18(土) 23:45:31.62ID:Fpx5gr7r 今のC#センスいい言語になってると思うよ、俺も。
422デフォルトの名無しさん
2020/04/19(日) 00:11:47.49ID:gEgC0AtJ たまには F# のことも思い出してあげて下さい
423デフォルトの名無しさん
2020/04/19(日) 19:53:26.80ID:GbCXYg+t だが断るっ!
424デフォルトの名無しさん
2020/04/22(水) 17:15:41.53ID:2MssAlkL 流石にJavaやScalaからGo移行とかになるとあまりの言語機能のゴミっぷりに開発者がキレそう
今までハサミつかって紙きってたのに石器渡されるようもんだわ
今までハサミつかって紙きってたのに石器渡されるようもんだわ
425デフォルトの名無しさん
2020/04/22(水) 17:57:25.70ID:gFNuxdvi /\___/\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
426デフォルトの名無しさん
2020/04/22(水) 18:22:16.77ID:LU+JwGqd この言語はCでサーバを書いているようなニッチな要求の仕事を置き換えるんだろうな
なに?そんな仕事があるわけない?
…去年回って来ちゃってたよ、そんな仕事が
ミリ秒縛り要求で数十の機器の管制をするサーバ
当時はgo知らなかったんでgccで書いた
なに?そんな仕事があるわけない?
…去年回って来ちゃってたよ、そんな仕事が
ミリ秒縛り要求で数十の機器の管制をするサーバ
当時はgo知らなかったんでgccで書いた
427デフォルトの名無しさん
2020/04/22(水) 19:29:43.68ID:5I5B70Wh リアルタイム性重視なら、GCあるGoは向いてないんじゃ
その用途で置き換えるならRustになりそう
その用途で置き換えるならRustになりそう
428デフォルトの名無しさん
2020/04/22(水) 20:01:17.39ID:LU+JwGqd Goは半日で理解できたがRustは無理だった
429デフォルトの名無しさん
2020/04/23(木) 00:05:34.25ID:b8mXccsZ 鯖は比較的余裕有るけど、クライアント側でGCが痛い子になる事はありそう
Rustは半日では無理だなぁ〜、概念は直ぐ理解出来るけど書き方に統一感無さ過ぎてキレそう<'a>&'a *ref
Rustは半日では無理だなぁ〜、概念は直ぐ理解出来るけど書き方に統一感無さ過ぎてキレそう<'a>&'a *ref
430デフォルトの名無しさん
2020/04/23(木) 00:49:14.99ID:3qWTs6XO Rustは人類には早すぎる
431デフォルトの名無しさん
2020/04/23(木) 00:55:50.26ID:1fYIb7dj 禿しく同意
432デフォルトの名無しさん
2020/04/23(木) 08:01:42.02ID:6AabYYA1 Rustはバカ速いとか聞くから覚えたいんだけど
学習コストもバカ高いよなぁ
CとかPascalやっててJavaを始めたときの倍くらい大変な感じがする
C#はJavaを丸パクりで基本構文ができてたから、1日
学習コストもバカ高いよなぁ
CとかPascalやっててJavaを始めたときの倍くらい大変な感じがする
C#はJavaを丸パクりで基本構文ができてたから、1日
433デフォルトの名無しさん
2020/04/23(木) 08:06:05.23ID:AGd9KY8X そりゃあif文for文みたいなコードだけなら1日だろうよ
434デフォルトの名無しさん
2020/04/23(木) 08:41:47.89ID:Q66hfIcW rust、利便性のためにライフタイムの省略パターンとか作ったんだろうけれど、逆にわかりづらくなってるわ。
435デフォルトの名無しさん
2020/04/23(木) 10:29:03.11ID:6AabYYA1 >>433
クラスの定義の書き方とかもだよ
Javaでない言語のクラスの書き方は、クラス定義にはメソッドの宣言を書いて、定義の外で実装するスタイルが主流だった(他の言語には無いとは言わないが非主流)
これはC++とかObjectPASCAL、そしてGoもこちらのスタイルではある
C#では、基本的にデフォルト仮想なJavaメソッドに対して、デフォルトは非仮想って程度の差(充分にでかい差ではある、ちなみにジェネリックはまだない時分)
だから、覚えるというより慣れるのに1日
SalesforceのAPECはまた面白くて構文はC#以上にJavaなのにデフォルト非仮想だったかな
よく似た兄弟すぎて、仕事とプライベートそれぞれ違う言語で書いてると混乱する
クラスの定義の書き方とかもだよ
Javaでない言語のクラスの書き方は、クラス定義にはメソッドの宣言を書いて、定義の外で実装するスタイルが主流だった(他の言語には無いとは言わないが非主流)
これはC++とかObjectPASCAL、そしてGoもこちらのスタイルではある
C#では、基本的にデフォルト仮想なJavaメソッドに対して、デフォルトは非仮想って程度の差(充分にでかい差ではある、ちなみにジェネリックはまだない時分)
だから、覚えるというより慣れるのに1日
SalesforceのAPECはまた面白くて構文はC#以上にJavaなのにデフォルト非仮想だったかな
よく似た兄弟すぎて、仕事とプライベートそれぞれ違う言語で書いてると混乱する
436デフォルトの名無しさん
2020/04/23(木) 10:36:37.69ID:AGd9KY8X >>435
完全にコーダーの発想だな
完全にコーダーの発想だな
437デフォルトの名無しさん
2020/04/23(木) 10:37:35.02ID:6AabYYA1 >>433
ああ、そういえばCとかではエントリがmain関数だったのが、クラスになっているスタイルもJavaで覚えた
そのためC#でもほぼ同じだから、そこで引っ掛かることが無かった
そういう観点であってifとかforなどの構文じゃないよ
ああ、そういえばCとかではエントリがmain関数だったのが、クラスになっているスタイルもJavaで覚えた
そのためC#でもほぼ同じだから、そこで引っ掛かることが無かった
そういう観点であってifとかforなどの構文じゃないよ
438デフォルトの名無しさん
2020/04/23(木) 10:39:55.23ID:6AabYYA1439デフォルトの名無しさん
2020/04/23(木) 10:55:34.68ID:AGd9KY8X キチガイに触ってしまったごめんなさい
440デフォルトの名無しさん
2020/04/23(木) 10:55:50.60ID:3P7Oolim JavaとC#では技術スタックが全然違うだろう
サーバーの構築から通信方法からフレームワーク等の選定から何から、
そういう足回りを全部すっ飛ばして全部あらかじめ他人に与えられた環境を使って
「さあ、アプリケーションコードを書いてください」ならそら大差ないだろ
俺は436じゃないが「コーダー」ってそういう意味じゃないかな
サーバーの構築から通信方法からフレームワーク等の選定から何から、
そういう足回りを全部すっ飛ばして全部あらかじめ他人に与えられた環境を使って
「さあ、アプリケーションコードを書いてください」ならそら大差ないだろ
俺は436じゃないが「コーダー」ってそういう意味じゃないかな
441デフォルトの名無しさん
2020/04/23(木) 11:30:36.92ID:1fYIb7dj ハゲしくスレ違い
442デフォルトの名無しさん
2020/04/23(木) 14:11:43.18ID:6AabYYA1 出だしが学習コストの話で、人格攻撃やらサーバの構築とか的外れな事を言い出してくるやら
詭弁術だけはお得意なことはよくわかりました
詭弁術だけはお得意なことはよくわかりました
443デフォルトの名無しさん
2020/04/25(土) 02:28:33.10ID:wAZrgsxC ギスギスしててワロ
Goは誰でもある程度のレベルくらいまでなら使いこなせる優しい言語
Goは誰でもある程度のレベルくらいまでなら使いこなせる優しい言語
444デフォルトの名無しさん
2020/04/26(日) 19:49:45.56ID:xNjL7Ex+ ものすごく当たり前の落とし穴に落ちた
ファクトリから構造体アドレス返してたのをインタフェース返すように変更したらテストでコケた
キャストチェックのテストだったんだけど、レシーバのシグネチャが同じ別のインタフェースがあって、そいつにキャストできちゃった
インタフェースが同じなら同じものとして使えるってことは、そういう問題を想定しとかないとならなかった
ファクトリから構造体アドレス返してたのをインタフェース返すように変更したらテストでコケた
キャストチェックのテストだったんだけど、レシーバのシグネチャが同じ別のインタフェースがあって、そいつにキャストできちゃった
インタフェースが同じなら同じものとして使えるってことは、そういう問題を想定しとかないとならなかった
445デフォルトの名無しさん
2020/04/28(火) 19:31:28.17ID:Ce9HOSET 大きくなってきたんでパッケージを分割
設定とか全体を管理するAパッケージ
httpのリクエストを管理するBパッケージ
webAPIのロジックを管理するCパッケージ
ロジックのインスタンスは設定で作って、リクエストから呼び出して処理してもらう
さて、ここで落とし穴
Cパッケージから設定を参照するためにAパッケージをインポートすると import cycle not arrowed 発生
AパッケージではCパッケージをインポートして、ロジックのファクトリを呼び出してる
インポートの循環の制約とか、それは厳しすぎやしませんかね
第三の上位パッケージを作ればなんとかなるのかなぁ?
設定とか全体を管理するAパッケージ
httpのリクエストを管理するBパッケージ
webAPIのロジックを管理するCパッケージ
ロジックのインスタンスは設定で作って、リクエストから呼び出して処理してもらう
さて、ここで落とし穴
Cパッケージから設定を参照するためにAパッケージをインポートすると import cycle not arrowed 発生
AパッケージではCパッケージをインポートして、ロジックのファクトリを呼び出してる
インポートの循環の制約とか、それは厳しすぎやしませんかね
第三の上位パッケージを作ればなんとかなるのかなぁ?
446デフォルトの名無しさん
2020/04/28(火) 20:20:55.63ID:iogl+PJs arrowed ?
447デフォルトの名無しさん
2020/04/28(火) 20:31:42.46ID:ghSBG3zr448デフォルトの名無しさん
2020/04/28(火) 20:48:56.59ID:SLRJSTJf > 設定とか全体を管理するパッケージ
インターフェース云々以前に、そんなふわっとしたモジュール強度の低いパッケージが存在することが問題
設定なら設定で分けろ
設定はデータ構造自体がインターフェイスなんだからカプセル化とか要らん
インターフェース云々以前に、そんなふわっとしたモジュール強度の低いパッケージが存在することが問題
設定なら設定で分けろ
設定はデータ構造自体がインターフェイスなんだからカプセル化とか要らん
449デフォルトの名無しさん
2020/04/28(火) 20:51:51.61ID:OCson2MM450デフォルトの名無しさん
2020/04/28(火) 22:00:57.39ID:Ce9HOSET >>449
ロジックのインタフェースの実体を得るファクトリ関数なんだがおかしいのか?
でも、そもそもが設定情報のパッケージにシステムを管理するデータの生成を担わせてる設計が原因臭いとはうすうす
やっぱそこを別パッケージに分離して結合を弱めないとだめだな
ロジックのインタフェースの実体を得るファクトリ関数なんだがおかしいのか?
でも、そもそもが設定情報のパッケージにシステムを管理するデータの生成を担わせてる設計が原因臭いとはうすうす
やっぱそこを別パッケージに分離して結合を弱めないとだめだな
451デフォルトの名無しさん
2020/04/28(火) 22:23:30.36ID:Ce9HOSET 結局、日和ってロジックのインスタンスはCパッケージにシングルトンとして実装してBから呼ぶことでallowedを回避した
根本的な解決ではないが、動けばいい!(うわっ自分で言ってて恥ずかしい
根本的な解決ではないが、動けばいい!(うわっ自分で言ってて恥ずかしい
452デフォルトの名無しさん
2020/05/01(金) 06:16:44.51ID:txiwXjh+ VScodeなのかdelveなのか、デバッガでスライスを見たとき64個までしか見えません
どこの設定を弄れば最後まで見せてもらえるのか、調べてみたけれど分かりません
→ githubのgo-delveとかvscode-goとか
このカスタマイズについて情報があれば教えてください
どこの設定を弄れば最後まで見せてもらえるのか、調べてみたけれど分かりません
→ githubのgo-delveとかvscode-goとか
このカスタマイズについて情報があれば教えてください
453デフォルトの名無しさん
2020/05/01(金) 11:36:26.80ID:txiwXjh+ 各プラットフォームのランタイムのせいだろうとは思うけど・・・
io パッケージの
func Copy(dst Writer, src Reader) (written int64, err error)
と
type Writer interface {
Write(p []byte) (n int, err error)
}
で戻り値に一貫性がない事に気づいて、ちょっとイラっときた
(io.Writer).Write() では n の合計が len(p) になるまで繰り返さないとダメ?
かと思ったけど、
Write must return a non-nil error if it returns n < len(p).
って書いてあるよ・・・
io パッケージの
func Copy(dst Writer, src Reader) (written int64, err error)
と
type Writer interface {
Write(p []byte) (n int, err error)
}
で戻り値に一貫性がない事に気づいて、ちょっとイラっときた
(io.Writer).Write() では n の合計が len(p) になるまで繰り返さないとダメ?
かと思ったけど、
Write must return a non-nil error if it returns n < len(p).
って書いてあるよ・・・
454デフォルトの名無しさん
2020/05/01(金) 11:43:36.06ID:txiwXjh+ ああっ
The built-in functions len and cap take arguments of various types and return a result of type int.
だからなのか
いいのかそんな仕様で
The built-in functions len and cap take arguments of various types and return a result of type int.
だからなのか
いいのかそんな仕様で
455デフォルトの名無しさん
2020/05/01(金) 12:06:06.92ID:Ia4c8IgS Goではintのサイズと配列の最大長は環境依存だからそれで正しい
そして、CopyはWriteを一発呼ぶだけじゃなくて指定された長さをコピーし終えるまで読み書きを繰り返すように実装するもの
だから配列の最大長とか無関係
やってることが全然違うんだから一貫性もクソもない
そして、CopyはWriteを一発呼ぶだけじゃなくて指定された長さをコピーし終えるまで読み書きを繰り返すように実装するもの
だから配列の最大長とか無関係
やってることが全然違うんだから一貫性もクソもない
456デフォルトの名無しさん
2020/05/01(金) 12:20:25.30ID:OD5xAYpx Rob Pike interview: “Go has become the language of cloud infrastructure”
https://evrone.com/rob-pike-interview
https://evrone.com/rob-pike-interview
457デフォルトの名無しさん
2020/05/01(金) 13:10:50.80ID:txiwXjh+ >指定された長さ
ダウト
Copy見てきてください
こいつはReaderからバイトストリーム(厳密には意訳)をEOFに達するまでWriterに書き込み、その書き込みバイト数を返します
サイズなんて指定しません
Writerに書き出すソースが固定のスライスではないだけで、Writerに書き出すという目的から見ればWriteと同じでしょ
まあ違うとあえて言うなら、私とあなたは考え方が違うんでしょうね (私は「何をするか」という目的で言ったので)
ダウト
Copy見てきてください
こいつはReaderからバイトストリーム(厳密には意訳)をEOFに達するまでWriterに書き込み、その書き込みバイト数を返します
サイズなんて指定しません
Writerに書き出すソースが固定のスライスではないだけで、Writerに書き出すという目的から見ればWriteと同じでしょ
まあ違うとあえて言うなら、私とあなたは考え方が違うんでしょうね (私は「何をするか」という目的で言ったので)
458デフォルトの名無しさん
2020/05/01(金) 23:48:52.57ID:txiwXjh+ log.Logger の出力でファイル名も出させるようにして気づいたけど、ソースファイルのパスって実行ファイルの中にしっかりと記録されてる?
Loggerでファイル名を指定すると内部でruntime.Caller呼んでスタック情報拾うんだけど
ログにはソースファイルの完全パスがしっかりと出てくる
実行ファイルを別ディレクトリはにコピーして実行しても出るから、実行ファイルの置き場所を利用している訳じゃない
また、runtimeパッケージがソースファイル情報をもってる訳もないからリンカが埋め込んでるんだろうと推測
runtimeパッケージを使う使わないで、リンカが埋め込む埋め込まないを切り替えるなんて器用な真似はさせていないだろうし
だとすると、ソースファイルの情報って全て記録されているはず(stringsで実行ファイルの中を見た訳じゃないけど)
という推測
完全パスで困るのはユーザ名がしっかり出ちゃうことなんだよな
それが嫌ならユーザディレクトリで開発するなという事なのか
Loggerでファイル名を指定すると内部でruntime.Caller呼んでスタック情報拾うんだけど
ログにはソースファイルの完全パスがしっかりと出てくる
実行ファイルを別ディレクトリはにコピーして実行しても出るから、実行ファイルの置き場所を利用している訳じゃない
また、runtimeパッケージがソースファイル情報をもってる訳もないからリンカが埋め込んでるんだろうと推測
runtimeパッケージを使う使わないで、リンカが埋め込む埋め込まないを切り替えるなんて器用な真似はさせていないだろうし
だとすると、ソースファイルの情報って全て記録されているはず(stringsで実行ファイルの中を見た訳じゃないけど)
という推測
完全パスで困るのはユーザ名がしっかり出ちゃうことなんだよな
それが嫌ならユーザディレクトリで開発するなという事なのか
459デフォルトの名無しさん
2020/05/02(土) 08:59:25.19ID:+Au1iQ6P みんなはGW中は嫁さんとセックスしまくりなの?
独身の俺からすると羨ましいんだけど
独身の俺からすると羨ましいんだけど
460デフォルトの名無しさん
2020/05/02(土) 13:46:40.57ID:iDDOId/p 嫁さんとセクロスなんて1年で飽きるぞ
461デフォルトの名無しさん
2020/05/02(土) 14:11:11.13ID:H63qqmuN セクロスはセフレとしかしないな
462デフォルトの名無しさん
2020/05/02(土) 14:12:11.64ID:1t1QmWMu 疲れるだけだぞ
463デフォルトの名無しさん
2020/05/02(土) 14:21:57.66ID:z5TAOMiI 飽きるか?全然飽きないんだが。
嫁ともっとセクロスしたいわ。
嫁ともっとセクロスしたいわ。
464デフォルトの名無しさん
2020/05/02(土) 14:26:10.42ID:jSLKT64y ∧∧ ミ _ ドスッ
( ,,)┌─┴┴─┐
/ つ. 終 了 │
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
( ,,)┌─┴┴─┐
/ つ. 終 了 │
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
465デフォルトの名無しさん
2020/05/02(土) 16:06:20.88ID:3+K3/vn9 GoのスレなんだからせめてGopherくんで抜けるかどうかの議論しろよ
466デフォルトの名無しさん
2020/05/02(土) 16:30:21.85ID:1t1QmWMu gopherくんみたいな女いるよな
目がでかくて歯並び悪いやつ
抜ける
目がでかくて歯並び悪いやつ
抜ける
467デフォルトの名無しさん
2020/05/02(土) 17:53:36.77ID:+BhrZUVp 常駐しつつ標準入力からのコマンドを受け付ける構成のプログラム書いてる
だけど、デバッグターミナルからの標準入力はサポートされないんだな(vscode-go/
issues/219)
VScodeの問題かと探したのにdelveの問題?
だけど、デバッグターミナルからの標準入力はサポートされないんだな(vscode-go/
issues/219)
VScodeの問題かと探したのにdelveの問題?
468デフォルトの名無しさん
2020/05/02(土) 17:56:31.80ID:+BhrZUVp ちなみにシグナル使えという話は横に置いといてね
os.Interruptとかのハンドリングはもう入ってる
Windowsでkillしても受け取らないんだこれが
os.Interruptとかのハンドリングはもう入ってる
Windowsでkillしても受け取らないんだこれが
469デフォルトの名無しさん
2020/05/08(金) 09:06:51.86ID:+d3XVyIT470デフォルトの名無しさん
2020/05/08(金) 09:16:00.33ID:le9A8gSm どうでもいい内容なんだよなーそれ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 ★2 [蚤の市★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★4 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 [お断り★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 【高市悲報】インドネシアの山が大爆発。日本への影響調査中。2025/11/19 19:35 [253245739]
- 【悲報】アメリカ軍「ジャップの自衛隊は上官の指示がないと何も出来ない無能者揃い、だから弱い」 [616817505]
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- 【高市悲報】北朝鮮🇰🇵、大人しすぎるwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [573041775]
- 中国「私達が怒ってるのは日本の政治家に対してで、日本の観光客や日本企業はこれまで通り歓迎する。これこそが大国としての余裕」 [377482965]
- カナダ「ジャップさあ、ファンデーションの「標準色」ってなんなんだい?ひとの肌の色に「標準」があるとでもいうのかい?」 [377482965]
