X



Go language part 2
■ このスレッドは過去ログ倉庫に格納されています
0133
垢版 |
2017/11/18(土) 02:16:00.03ID:qQnEMcHh
そもそもsqlパッケージ自体使い方わかってないんだろ。godoc読んだ形跡がここまで無いのも凄い。
0134
垢版 |
2017/11/18(土) 02:57:09.69ID:qQnEMcHh
略語が全部大文字どころか、こまごまいちいち指定してこられる事のメリットは、あとからインターフェイス書くときだよ。
関数名のブレようが無いでしょ。
0135デフォルトの名無しさん
垢版 |
2017/11/18(土) 10:10:59.68ID:7yJX3UxV
>>121
>> でも、どの言語もコモディ化で割と似たような言語仕様になる中、
>結局ソフトウェア技術も成熟しつつあるってことだよ。
>どう書くべきか、何をやってはいけないのか大体わかってきた。

ここに俺は異を唱えたい。
言語の方向性は歴史的な圧力が絶対あると思う。
仕方なく大多数が採用したから新言語でも採用したみたいな。

例えばclassとstructってなんで2つあるの?って思ったことない?
cの頃はstructはただの構造体だった。もちろんcにはオブジェクト指向の機能はないからstructにメソッドは生やせない。でもその後後発の言語はstructを拡張するのではなくclassを作った。でもsturctはそのまま残した。
swiftでも残り続けてる。値型と参照型の違いということで残したみたいだね。
意味がわかんない。

例外処理
例外が発生する可能性がある関数とない関数でコンテキストが大きく変わる。
そもそも例外処理って横着機能でしかないと思うんだけど。

そんなわけでgoはこの歴史的な圧力に対して異を唱えている。
それは本当に正しいのか!って。
0136デフォルトの名無しさん
垢版 |
2017/11/18(土) 10:46:35.60ID:euoYf0NO
>>132
それはその通り。俺は知らなかった。しかし、PHPとNodeではそれでも何も問題なく使えたのがミソなんだよ。

「Goは覚えることが少ない」なんて言っているのはプログラミング経験が浅い馬鹿で、表面しか見えないから。
或いは、他言語を使えないからGoの問題に気づけないだけ。
実際はこの手のGo特有事例(方言)がものすごく多い。(これについてはPHPより酷い)
だから常識的にプログラミングするといちいち引っかかってしまう。熟練者にとって生産性が著しく悪い。
(ところが他言語を全く知らないド素人にとっては生産性が悪くないのがミソ)

「C++はプログラマを育てる言語だ」と禿は言っていて、実際にC++の連中は育っている感がある。
俺はJavaScriptもかなりいい言語だと思うが、こちらは壊滅的なほどに育ってない。
Goはどうか?俺はGoは間違った方向に育つ(使えない奴が出来る)言語だと思うよ。色々おかしいから。
それでもGoを信じるのは君の自由だが。

新しい言語には老害がいなくて心地よいのだろうが、それは達人もいないことを意味する。
色々仕様がおかしいのは、つまりそれにも気づけない馬鹿しかいないことの証左だ。
(上記のように、熟練者除けを装備してもいるし)
K&Rの評価が異常に高いのは、さらっと書いてあるコードの品質がとんでもなく高いからでもある。
有名なのはmallocだが。
http://www.wdic.org/w/TECH/malloc
そういうコードは今のGoには無いと断言できるね。
今のGoはお山の大将が出来ることがうれしいだけの馬鹿しかいない。だからこんな糞仕様がまかり通る。

それでもGoを選ぶのは君らの自由だが、当然その責任も数年後に負うことになる。
それは自己責任だから、君らが思うようにやればいい。
責任を負うことの出来ない俺が「止めろ」ってのもおかしな話だし。
ただ、俺がもし学校の先生だったら、この言語を教えていいのか?と躊躇する言語だよGoは。

とはいえ、成否は俺には分からんね。
俺達がゆとりに死んで欲しいと思っているのと同様、ゆとりも老害に死んで欲しいと思っているのなら、
ゆとり専用言語で棲み分けするのもいい手だ。Goはここに位置できる。
そこで好き勝手やってみるのも悪いことではない。それでどっちが残るか勝負すればいい。
0138デフォルトの名無しさん
垢版 |
2017/11/18(土) 11:20:17.67ID:euoYf0NO
>>135
> 例えばclassとstructってなんで2つあるの?って思ったことない?
それは歴史的「圧力」というよりはただの後方互換性だ。
冗長といえばそうだが、かといって削除するほどのことでもない、ということ。
C++のstructとclassなんて、デフォがpublicかprivateかの違いしかない。
当然、明確な使い分けはない。では実際どうするかというと、
クラスとして「主体的に動作をする」のか、データとして「外部から操作をされる」のか、で分けるのが一般的か?
つまり、お前らが言うOOPか手続きかで分ける。
しかしこれは、初心者にとっては意味不明すぎるのも事実。
おかしいだろ!整理しろ!というのはごもっとも。Goがstructだけに絞ったのも、別段問題ない。
ただ、これで生産性が上がるわけも無く、だから他言語では放置されてる。
なんつーか、どうでもいいわな、というところ。

> そもそも例外処理って横着機能でしかないと思うんだけど。
その通りだが、要するに、よく使う機能だから言語側にサポートを入れた、というだけ。
無ければ伝言ゲームをする羽目になる。
自前のオレオレ伝言ゲーム構造体よりは、言語側で規定してて言語機能に入っているほうがマシだろ。

ただここに至ってGoの実装はよく分からんね。
あれは自分で「毎回チェック」してthrowするのが必要なだけで、panicした後は従来の例外の様に動く。
catch/finallyでグダグダ書くよりdeferしろってのは一理あるが、
例外を使いたがっている奴はそもそもの「毎回チェック」を書きたく無いからだろ。
Goの例外がどういった層に喜ばれるのか(どういうメリットがあるのか)よく分からん。
0139デフォルトの名無しさん
垢版 |
2017/11/18(土) 11:50:08.52ID:7yJX3UxV
>>136
同意する部分は多々あるよ。

>「Goは覚えることが少ない」なんて言っている
>実際はこの手のGo特有事例(方言)がものすごく多い

シンプルさを意図して実際は中味の複雑さがにじみ出ることは多々ある。
nilでも型があるとかね
https://golang.org/doc/faq#nil_error

だから蟻地獄的なものはあるかも。

>「C++はプログラマを育てる言語だ」と禿は言っていて、実際にC++の連中は育っている感がある。
これは知らんかった。禿って誰のこと?
正直C++勢と会ったことはない。web系と断絶してる感じする
なんで育てる言語がC++なの

>だから常識的にプログラミングするといちいち引っかかってしまう。熟練者にとって生産性が著しく悪い。
>(ところが他言語を全く知らないド素人にとっては生産性が悪くないのがミソ)

もしかしてIDE使ってないの?vscodeとか。
俺もTypeScriptとかいろいろな言語を使ってるけど
言語仕様で引っかかってもその場でIDEが指摘してくれるから、生産性に問題は起きない。
0140デフォルトの名無しさん
垢版 |
2017/11/18(土) 11:50:17.43ID:7yJX3UxV
そもそも第一言語としてGoだけ使うって輩はないだろ。多様性を楽しむくらいの余裕があってもいいと思うけど。
関数型も書いてて楽しい。Elixirとか。Haskellはちょっと挫折した。

ちょっとぐぐってみたら面白い記事を見つけた
http://gihyo.jp/news/report/01/GoCon2014Autumn/0001

言語が思想に影響するという説(サピア=ウォーフの仮設)
があるからあえてGoにはあなたが方言と言ってる違いを設けて
多様性を確保したいらしい。
0141
垢版 |
2017/11/18(土) 11:50:28.50ID:OVm4Skm9
>>138
ヒープに値が乗るかポインタが乗るかで全然違うだろ。構造体とクラスは。
後方互換製でも何でもなく、使い分けとるわ。
0143
垢版 |
2017/11/18(土) 13:37:23.69ID:F+BjC4W7
>>142
使い分けてるんだから、必要あるってわかるだろ。
ベクトルなんかをそこそこの量処理したいとき、そのベクトルを表すものがクラスか構造体かでかなり違う。
彼が言ってるような歴史を辿ってきたJavaやC#みたいなGCを持つ言語だと、GC対象か否かという点でもメチャクチャ違う。
0144デフォルトの名無しさん
垢版 |
2017/11/18(土) 14:51:14.87ID:euoYf0NO
>>140
> 同氏は,Go言語はスケーラブルなクラウドソフトウェアのために設計されたきれいな手続き型言語であると述べていました。
あーなるほどね。反OOPか。

Cが生まれて50年弱経ち、ソフトウェアテクニックってのはほぼ固まりつつある。
その状況で若い連中が何か新しいことを思いつき、しかしそれを老害が腐してそのアイデアが埋没してしまうようなら、
それは勿体無いから、若い連中用のプレイグラウンドはあるべきだ。Goはそれに成り得るだろう。
ただし、そこで試されるアイデアの大半は既に誰かが試してゴミだったからポシャった物であり、
つまり「歴史」ではなく「経験」に学びたい若者が「車輪の再開発」をする場でしかないわけだが、
それもまあ必要悪というか、更なる発展の芽を探す為には仕方ないのかもしれんね。
ただそれで無駄言語に傾倒することになる若者は哀れだが、自己責任だから致し方なしか。

心配せずともGo言語で何かめぼしい成果が出れば、C++他は数年後には確実にパクる。
正直、遅延評価を既存言語機能だけで丸パク出来たのには驚かされた。templeteの汎用性を俺は舐めてた。
Go言語で出る成果でC++がパクれない物はたぶんありえない。もともと似てるし。


OOPが暴走気味なのは事実としても、現実解としてOOPしかないからみんなOOPしてるわけで、
そこに刃向かうのはもちろん自由だが、それでpackageが解なの?うーん、といったところか。
それならCでいいじゃん、になってしまうし。
0145デフォルトの名無しさん
垢版 |
2017/11/18(土) 14:55:03.12ID:euoYf0NO
>>139
> 禿って誰のこと?
禿=ストロウストラップ=C++作者=https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%A3%E3%83%BC%E3%83%8D%E3%83%BB%E3%82%B9%E3%83%88%E3%83%AD%E3%83%B4%E3%82%B9%E3%83%88%E3%83%AB%E3%83%83%E3%83%97#/media/File:BjarneStroustrup.jpg
> 正直C++勢と会ったことはない。web系と断絶してる感じする
話してみたいのならスレにでもどうぞ。それがネットの正しい使い方でもある。
ただあいつらの話題って重箱の隅どころでは無いからなあ、、、
> なんで育てる言語がC++なの
知らん。禿が著書でそう主張している。そして確かにそんな感じだ。
おそらくC++の奴らは自分でいろいろ試して、結果的にいろいろひどい目に遭うからだよ。(追体験)
例えば、「グローバルガー」とか言うWeb系の奴、実際にグローバルが問題になるほどの規模のコードを書いたことがないだろ。
そういう、薄っぺらい馬鹿が威張っている感がC++erにはない。
C++erの場合は、実際に「便利だから」グローバルを使い、結果的に苦労して、
どの規模の辺りからグローバルはやばいかを知った後で話をしている。
そういう、地に足が着いている感がある。

一方Web系は「経験に学ぶのは愚者。俺達は歴史に学ぶ」と言い、この手の追体験を拒む。
そしてグローバルガーと連呼したりするが、実際にはその規模ならどうでもいい場合が殆どだ。
ここら辺が地に足が着いてない。教科書(歴史)を妄信してる感ありあり。
しかしそのわりにGoで経験に学ぼうとしているのは、結局OOP流に嫌気が差しており、自由にやりたいだけだろう。
(まあ気持ちは分からなくもない。JavaのOOPとか完全にやりすぎだと思うし)
それが自分達が言っている「経験に学ぶ愚者」に該当する自己矛盾に気づかないのが愚かなところだが、
Web系の連中にとっては経験こそが足りないから、色々やってみるのもいいとは思う。
0146デフォルトの名無しさん
垢版 |
2017/11/18(土) 14:55:54.32ID:euoYf0NO
今はソフトウェア技術の規模が微妙な時期なんだよ。
数学のように「全ての分野を網羅するには人生は短すぎる」程の広がりはなく、
これまでの全ての問題を一つ一つ追体験するのも無理ではない。グローバルしかり、ポインタしかり。
もちろんそれは無駄だとして「歴史」に学ぶのも一つの手だ。
ただし実体験と教科書の知識だけでは重みが違うから、そこらへんがWeb系全般のフワフワ感につながる。
とはいえ、今後ともソフトウェア技術は肥大化する一方だから、今後の学び方としてはWeb系流の方が正しい。
ただ、今はまだそのシンギュラリティに到達しておらず、C++流の学び方も成立するってだけで。

> IDE
文法が分からない=指摘されてもどう直してよいのか分からない、のだからそれ以前だよ。
ただしvscodeだとC#流の「;が抜けています。追加しますか?はい/いいえ」で行けたのかな?
それなら入れておくべきだったかも。実際はemacs+flyCheckでやった。
ただし既にPHPとNodeで動くコードをGoに移植だから、引っかかるのは全てSyntax/API/Go方言なんだが。

> だから蟻地獄的なものはあるかも
Goは多分、思想がGoだけで完結してるんだよ。
「驚き最小」ってのはGoの世界ではそうなのかもしれんが、
nilがタプル(というよりポインタが全部タプルか?)だとは普通のプログラマは思わないから
そこは「驚き最大」だ。
それならそれでいいとして、だったら最初にそれを言え、なんだが。

Goは割と想定外のところでバグるんだよ。
この点、実はJavaScriptはC的で、文法だけ抑えたらあとは、あー、はいはい、で行けた。
だから俺(というかC使い)にはJavaScriptは相性がいい、というのはある。
Goは妙なところでGoだけの世界を作ってるだろ。これが吉と出るか凶と出るか。
0147
垢版 |
2017/11/18(土) 15:31:38.82ID:eanOOMuW
俺の長文もこんな感じなのかなぁ、注意せな。
0148デフォルトの名無しさん
垢版 |
2017/11/18(土) 16:28:17.34ID:7yJX3UxV
>>146
>Goは割と想定外のところでバグるんだよ。
>この点、実はJavaScriptはC的で、文法だけ抑えたらあとは、あー、はいはい、で行けた。
>だから俺(というかC使い)にはJavaScriptは相性がいい、というのはある。

どういうコードでバグったの?
0149デフォルトの名無しさん
垢版 |
2017/11/18(土) 18:17:51.34ID:euoYf0NO
>>148
そりゃ該当するのは君の言うnilとかだよ。
俺の場合は何度も言っているがJSONだ。

問題なのはこの原因が「Goの特殊仕様」であって、「俺の未熟な文法理解」ではないこと。
文法は一通りやれば終わるが、特殊仕様は確認しないと分からず、その都度の対応になる。
新しい領域に踏み込んだら毎回地雷原を歩かされるようなもので、これでは生産性なんて上がらない。
だからプログラミング言語には統一性/一貫性が重要だと言われるわけでね。

C++は今は何でもかんでも仕様に取り入れてる。
あれがいいかどうかはさておき、既に言ったように、Goで何か結果が出れば必ずC++は取り込む。
だったら俺はそれでいいや、という感じだね。

先頭を走らなきゃヤダ!ならGoに集まっている連中とワイワイやるのもいいのではないかな。
ただ、仕様を見る限り面子には非力感がありまくりだが。
そして当然、結果はそう簡単に出ないし、出ても簡単にパクられる。
それも覚悟の上でがんばれ、ってとこだね。
0150デフォルトの名無しさん
垢版 |
2017/11/18(土) 23:55:49.43ID:TdFdr2wf
>>149
そんなの言語毎にハマりどころはあるから。
Goだけにある問題点みたいな言い方するから、
どんなのかと思った。
jsだってthisが何指してるかわからなくなる問題とか、独特のハマりどころはあるでしょ。

jsonの問題もjwgとか使えば自動的に理想的なtag付けしてくれるんで。使ってみては?
0151
垢版 |
2017/11/19(日) 00:27:33.12ID:LuozPxgy
ドキュメントに書いてあることができないのが、何で未熟な文法理解に何故起因しないかわからん。
文法理解してるつもりなのに書けないのなら、語彙も足りないんだろ。
ってかドキュメント読めよなぁ。
特に難しい事もないじゃん。
なんか読めない理由でもあんのかね。
0152デフォルトの名無しさん
垢版 |
2017/11/19(日) 00:31:17.32ID:SsMAbqSz
>>150
いやGoだけだぞ。
正確に言うとC系(ハロワ系)はCに意図的に似せて作ってあるからこの辺で問題が生じることがない。
俺は関数型には深入りして無いからそっちは知らんが。

君がGoだけかなり特殊だと気づかないのは、他に比べる手持ちの言語が無いからだよ。
ただそれもGoの意図通りのようだし、
確かに他言語の経験者が大量流入すると独自進化できない、というのはごもっともだ。
ジェネリック使いたければ他言語を使え、Goはジェネリックよりいい解を探してみせる!というのもありだろう。
実際、彼らの意図通り、俺みたいなC系経験者にとってはGoは魅力的ではないし、ひとまず静観といったところだね。
上手くガラパゴス化して面白く変化できるかどうかだね。

> jsonの問題もjwgとか使えば自動的に理想的なtag付けしてくれるんで。使ってみては?
これは逆なんだよ。
書かないことこそが素晴らしい、というのが従来型言語であって、俺はそっちを支持する。
そうではなく、自動生成こそが正義、というのならそれはまあがんばってね、という感じだが、
それも結局「正しく自動生成できているか」確認しないといけないんだから、
書くのと比べてやること減ってないだろ。
なんかそこらへんの根本的なノリが違うんだよなあ。


なお、
> jsだってthisが何指してるかわからなくなる問題とか、独特のハマりどころはあるでしょ。
これは違う。あいつらはマトモにオブジェクト指向も出来ないくせに主張するからおかしなことになる。
普通に使えば obj.method なんだから、thisが何を指すかで戸惑うことなんてない。
逆に、それ以外でthisを使うからおかしなことになるのだが、それは根本的に間違ってるんだよ。
(ただし仕様上、関数ポインタにはいちいちbindする必要があるが、これはすればいいだけ)
JavaScriptのthisガーって言っている奴は間違いなく馬鹿だから、無視していい。
ただそいつらが過半数な感じがJavaScriptが終わってるところなんだが、、、、
0153
垢版 |
2017/11/19(日) 00:34:49.76ID:LuozPxgy
なんで糖衣構文ではなく、アロー関数が出来たんだろうねぇ。

まぁ、言ったからには、静観してくれたら良いな。
0154デフォルトの名無しさん
垢版 |
2017/11/19(日) 02:19:38.32ID:uqF6CIR0
>>152
Goとjsで平等な視点で比較評価しているとは思えない点は目をつぶるとして

>それも結局「正しく自動生成できているか」確認しないといけないんだから、
>書くのと比べてやること減ってないだろ。

あなたの得意分野のCだって内部的にはプリプロセッサがコード生成してるけどそれを目視チェックしたこと無いよね。
隠蔽しているだけでコード生成を使ってるんだよ。
0155デフォルトの名無しさん
垢版 |
2017/11/19(日) 02:37:25.16ID:uqF6CIR0
コード生成を嫌ってるみたいだけど、そして理解もできるけど
静的言語が動的言語並の自由度を確保しようと思ったらコード生成は避けれないと思う。

例えばちょっと前にあったdatabaseとの接続もそう。
コンパイル前にスキーマを収集して型を作るのが静的言語における最適解。
それ以外は動的な解決(interface{}を使う)しかなくなり、静的言語としてのメリットを失う。

でも、そもそもコード生成嫌わないで。
生成したコードをデバッグ時に参照できるというのは、バグの解決につながりやすい。
Cで複雑なマクロを組むとエラーがわかりづらくなるけど
プリプロセッサの出力を目視できるようにすると解決できたりする。

だから Goのコード生成もプリプロセッサのコード出力くらいに考えておけばいいと思う。
0156デフォルトの名無しさん
垢版 |
2017/11/19(日) 04:15:36.04ID:ayZ5nPnf
嫌なら使わなければいい
気に入らないなら思いの丈をブログにでも書いてくれ
そろそろ黙れ
0157デフォルトの名無しさん
垢版 |
2017/11/19(日) 11:03:39.31ID:5dcaUzmV
技術的革新について話すだけのヤツはクソだ、黙って手を動かせ、と言った奴を
自分が触ったことのないテクノロジを批評するのは滑稽、と批判してみせた奴

こいつが、その素晴らしい技術でLinuxを超える何かを世の中に残せたのなら説得力が有るのだが…
結局何かしらの技術を語ってる奴は総じてクソなのは揺るがない
0158デフォルトの名無しさん
垢版 |
2017/11/19(日) 14:16:27.55ID:SsMAbqSz
>>154
いや俺はマクロは最小限(見りゃ分かる程度)しか使ってない。
そして自動生成を嫌っているのではなくて、手間が増えるのを嫌っている。

PHP, JavaScript:何も書かなくていい
Go:構造体を書き、タグ付けスクリプトを作成し、go generate してタグを付け、正しくタグがついているか確認 ← やること多過ぎ
Go:構造体を書き、タグを書く ← これのほうがまだまし

>>155
そりゃ公平な評価にはならないよ。俺は既にC言語は十分使える状況なんだから。
そしてPHPとJavaScriptにはC系言語の常識が通用したからさほど苦労しなかったが、
Goはそうではなく、色々引っかかる。
ただこれはGo言語制作陣の意図通りだし、確かにいまさら互換言語を整備する意味はないんだよ。

> それ以外は動的な解決(interface{}を使う)しかなくなり、静的言語としてのメリットを失う。
ちょっとこれは厳しすぎ、というか、若干誤解しているか?
(静的クラス機構による)動的型は型を失うわけではなく、一般的には「静的言語としてのメリットを失う」とはされない。
確かに間接呼び出しになる分だけ遅くはなるのだが、これを言うなら世の中のOOP言語は全部糞になる。
(動的言語の)動的型は毎回辞書引きが必要(map扱い)だから効率が悪いとされている。
Goのinterface{}はこれではない。

ちなみにGoのreflectionもC系とはちょっと感覚が違う。
jsonを吐くのにフィールド名が必要なら、普通はjsonモジュール内でreflectionするはずで、
それならpublic(先頭大文字)でなくとも全部取れるはずなんだよ。だからそれを期待してしまうわけ。
そして、あ、あれ?とれないの?みたいな事になる。
C的常識でGoを組んでると、この辺の予想外のところで引っかかる。いろいろ根本からして違うんだよ。
一方PHPだと、「下手糞がフレームワーク組みやがって」とは感じるけど、何でそうなるのかは分かるんだよ。
あっちはベースを共有してる感がある。
だから今の俺だとPHPの方がGoより生産性が高くなってしまうわけ。
しかしGo言語はC系言語出身者お断り仕様で計画通りなのだから、これはこれでいいんだよ。
0159デフォルトの名無しさん
垢版 |
2017/11/19(日) 16:10:38.42ID:uqF6CIR0
>>158
>> それ以外は動的な解決(interface{}を使う)しかなくなり、静的言語としてのメリットを失う。
>ちょっとこれは厳しすぎ、というか、若干誤解しているか?

単純にIDE連携が静的言語としてのメリットって話
つまりコード補完する時にDBのカラム名が候補に出る状態にできるのが静的言語のメリット。
内部的に型を持つとかそういう話じゃない。

> Go:構造体を書き、タグ付けスクリプトを作成し、go generate してタグを付け、正しくタグがついているか確認 ← やること多過ぎ
じゃなくて
Go:構造体を書き、go genereteを実行する
だけ。正しくタグがついているか確認は不要。ツールを信頼してるから。Cのプリプロセッサを信頼するのと同じ。
0162デフォルトの名無しさん
垢版 |
2017/12/08(金) 02:34:03.21ID:vRwW3yxJ
外部ライブラリで
import "github.com/hoge/foobar"
みたいにリポジトリ指定みたいに書いたりしますが
そのリポジトリが無くなったら終わりってことですか?

それと、forkした場合などはユーザ名変わるわけですがfork内のimport全部書き換えなきゃならんとか面倒ではないですか?
0164デフォルトの名無しさん
垢版 |
2017/12/08(金) 17:33:33.51ID:vRwW3yxJ
ありがとうございます
vendoring という機能を知りませんでした
vendoringで解決できそうです
0165デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:10:32.89ID:TYM9B0mh
リポジトリあっても数年更新ないとかあるからな
go-bindataとか
0166デフォルトの名無しさん
垢版 |
2018/01/21(日) 17:08:27.78ID:N7P1nvHc
ふむ
0169デフォルトの名無しさん
垢版 |
2018/02/22(木) 17:15:17.70ID:zGB/N5H/
>>165
こういうのがあるとパッケージプロバイダを経由したほうが良いと思える。アカウントけされたらvendor使ってても無駄だよね
0171デフォルトの名無しさん
垢版 |
2018/02/25(日) 10:05:06.21ID:j2G6HVKr
ビルドしたバイナリにソースコードのパスが含まれちゃうんだけどこれを抑制する方法ってありますか?
0176デフォルトの名無しさん
垢版 |
2018/03/22(木) 15:24:45.26ID:674+Hr9W
APIサーバでマスタデータ的なものをグローバル変数として最初にDBから読み込んでおくのってアリな設計?

memcacheとか使うのはもう少し流動性のあるデータとか、サーバ間できちんと同期する必要のあるデータ扱う場合って認識でいる
0177デフォルトの名無しさん
垢版 |
2018/03/22(木) 15:27:09.34ID:o6o53GFc
>>176
あり
いつ更新するかは重要
0178デフォルトの名無しさん
垢版 |
2018/03/23(金) 04:54:04.26ID:2CHUAIka
初歩的な質問で恐縮なのですが、
Javaでいう所のSystem.out.print(i + " ");のような記述は、
Goではどのようにすればよいでしょうか?
fmt.Print(i + " ");とするとエラーになってしまうのですが…
0180178
垢版 |
2018/03/23(金) 16:41:04.93ID:2CHUAIka
>>179
分かりました。ありがとうございました。
0181176
垢版 |
2018/03/23(金) 18:24:39.93ID:QQ32nCj2
>>177
ありがとう!
0185デフォルトの名無しさん
垢版 |
2018/03/27(火) 08:30:30.17ID:iLpxT8od
intのabs無いんかい。
まぁ簡単に作れるからいいんだけど、、、なんで?
ジェネクリスができたら実装するんかな
0187デフォルトの名無しさん
垢版 |
2018/03/28(水) 03:52:49.62ID:ZDJEBTZY
https://golang.org/src/sort/sort.go

Goのクイックソートの実装を見ると内部でヒープソートとシェルソートをしているように見えるのですが
これはイントロソートの亜種なんですか?
0188デフォルトの名無しさん
垢版 |
2018/04/08(日) 22:26:49.15ID:JpRlbHG8
Google CodeJam 提出言語をGoのみにすればGoの普及がもっと加速したんじゃなかろうか
0189デフォルトの名無しさん
垢版 |
2018/04/08(日) 23:50:10.95ID:yrhx1H5B
go言語にc++17の [[nodiscard]]属性みたいなのないですかね?
0190デフォルトの名無しさん
垢版 |
2018/04/09(月) 23:26:18.67ID:MS0CVzIb
ほう、検査例外みたいな機構がC++に出来るのか
そりゃ楽しみだな
0191デフォルトの名無しさん
垢版 |
2018/04/10(火) 00:34:02.45ID:m2euEy9A
アンダースコアを使用禁止にしたら
0193デフォルトの名無しさん
垢版 |
2018/05/22(火) 10:19:05.51ID:yZwDcGoJ
func calc(x int, y int) (int,int){
return x, y
}

var a int
a, b := calc(1,2)

みたいに定義済みのaと未定義のbに戻り値代入したいときって、
a用の一時的な変数を用意しないと駄目よね?
なんだかんだ一年以上、疑問に思ったまま過ごしてる
0195デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:52:57.37ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

XC972
0196デフォルトの名無しさん
垢版 |
2018/05/24(木) 00:39:30.46ID:10PxTeir
RDBをRedisとかでキャッシュしつつ、更新もしてるサンプルない?
ラッパーの実装を参考にしたい
0198デフォルトの名無しさん
垢版 |
2018/06/19(火) 04:26:11.88ID:4RGawPIj
>>192
0199デフォルトの名無しさん
垢版 |
2018/07/02(月) 16:52:27.70ID:JP9Qw5xK
>> 193
https://play.golang.org/p/l3eB4W6F5Qc
こういうことね
そうするしかない。
「プログラミング言語Go」にも詳しく書いてあるよ。
0200デフォルトの名無しさん
垢版 |
2018/07/02(月) 16:53:38.24ID:JP9Qw5xK
>>193
みすった -> >>199
0202デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:54:37.11ID:gFgZc5FG
WSB
0207デフォルトの名無しさん
垢版 |
2018/07/06(金) 15:20:50.78ID:odzQpd8G
何でこのスレ見てるんだ
0208デフォルトの名無しさん
垢版 |
2018/07/06(金) 17:12:54.17ID:qtqoxO2d
このゲームわ沼
https://goo.gl/VuXjSo
0210デフォルトの名無しさん
垢版 |
2018/07/06(金) 19:00:23.58ID:w06Qamjl
呼び方とかどうでもいいけど
当たり前だけどcapacityはメモリ持ってかれるから
チャンネルに飛んでくる数が不定な場合はstack使わないとgoroutine爆発する
ググるとまさにってのがstack overflowにあったけど緩衝するのが普通なの?
なんなんこれ
0212デフォルトの名無しさん
垢版 |
2018/07/07(土) 00:20:15.43ID:P+j3/coi
C言語に挫折してGoに来たけどやっぱダメでした
ポインタも残ってるし、むしろCより覚えることが増えて難しくなってないか
0214デフォルトの名無しさん
垢版 |
2018/07/07(土) 01:19:40.89ID:pkJeWJC3
自分でなんとかしてる
capacity小さくても止めとけと、耐えろよと思うわけよ
そのひと手間が普通ならなんだこれはと思うわけよ
Go言語のスレが未だにpart 2な理由よくがわかった
0215デフォルトの名無しさん
垢版 |
2018/07/07(土) 05:23:35.62ID:gtCUOnhz
スクリプト言語ばっか触っててGoに移行しようとして1月近く経ったけどシンプルなのは良いけど他だと標準で出来ることしようとしたら必要以上に複雑になるな
0217デフォルトの名無しさん
垢版 |
2018/07/07(土) 11:34:48.98ID:BLAzCd2J
Go自体が他の次世代言語とくらべて低機能にしてある
複雑な機能つけても使いこなせない人がいるから単純にしてあるのさ
それがGoの利点ともいえる
0221デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:29:05.06ID:N67OeEDm
Goでは定数同士の演算はコンパイル時に行われるという認識で正しいですか?
0222デフォルトの名無しさん
垢版 |
2018/07/20(金) 20:05:59.76ID:79xYVhLD
Goに限らずCでも最適化オプションオフにしない限りコンパイル時に計算してくれるんじゃないかな
0223デフォルトの名無しさん
垢版 |
2018/07/22(日) 15:52:23.78ID:n3sj4i+0
cのunionとかpackされた構造体の扱いがめんどくさいな
せめて自動でsetter/getterを付けてくれたらいいのに
0224デフォルトの名無しさん
垢版 |
2018/07/22(日) 20:53:07.07ID:9sj55xoR
僕もただのデータの入れ物的な扱いしてました、何年くらい前だろうか15年くらいかなぁ
0225デフォルトの名無しさん
垢版 |
2018/07/30(月) 09:32:46.50ID:cinqYph1
Pyhtonの遅さに耐えられずGoを学び始めたんだけど
型の記述がしんどい
これが何を意味するのか読み解くのに土日を要した
func compute(fn func(float64, float64) float64) float64 {
0232デフォルトの名無しさん
垢版 |
2018/07/30(月) 13:06:10.85ID:OTf1bV4O
>>228
池沼に用は無い
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況