Go language part 2
■ このスレッドは過去ログ倉庫に格納されています
>> 193
https://play.golang.org/p/l3eB4W6F5Qc
こういうことね
そうするしかない。
「プログラミング言語Go」にも詳しく書いてあるよ。 >>204
ゴルーチンって何?
コルーチンなら知ってるけど >>205
ハァ?その言語の識別子も把握してないの?死ねば? FORTRANマイスターが他の勉強方法を始めたのかもしれん 呼び方とかどうでもいいけど
当たり前だけどcapacityはメモリ持ってかれるから
チャンネルに飛んでくる数が不定な場合はstack使わないとgoroutine爆発する
ググるとまさにってのがstack overflowにあったけど緩衝するのが普通なの?
なんなんこれ C言語に挫折してGoに来たけどやっぱダメでした
ポインタも残ってるし、むしろCより覚えることが増えて難しくなってないか 自分でなんとかしてる
capacity小さくても止めとけと、耐えろよと思うわけよ
そのひと手間が普通ならなんだこれはと思うわけよ
Go言語のスレが未だにpart 2な理由よくがわかった スクリプト言語ばっか触っててGoに移行しようとして1月近く経ったけどシンプルなのは良いけど他だと標準で出来ることしようとしたら必要以上に複雑になるな Go自体が他の次世代言語とくらべて低機能にしてある
複雑な機能つけても使いこなせない人がいるから単純にしてあるのさ
それがGoの利点ともいえる じゃあ俺go使いこなせないから言語ごと消えてどうぞ 行番号振ってVRAMアドレス意識してた古代からタイムワープして来たがLLのがむずい Goでは定数同士の演算はコンパイル時に行われるという認識で正しいですか? Goに限らずCでも最適化オプションオフにしない限りコンパイル時に計算してくれるんじゃないかな cのunionとかpackされた構造体の扱いがめんどくさいな
せめて自動でsetter/getterを付けてくれたらいいのに 僕もただのデータの入れ物的な扱いしてました、何年くらい前だろうか15年くらいかなぁ Pyhtonの遅さに耐えられずGoを学び始めたんだけど
型の記述がしんどい
これが何を意味するのか読み解くのに土日を要した
func compute(fn func(float64, float64) float64) float64 { ツアーof goからやらないと。型を後置する意味について分かるよ Cの関数のポインタ型の分かり肉さに比べるとだいぶマシになったんやで 型無しやるとマジストレス、他人が書いたBugFixとかマジ地獄 >>231
typescriptが人気出たのもそれだよね >>232
公式の解説にあったのよ。Cの型が読みにくいからGoはこうしたって。
ワイが池沼とか関係ない >>226
四つのfloat64、二つのfuncで混乱してしまった
後置はVBAで慣れているのだが、 as がないとまるで別物に見える スライスとかマップで普通に使いそうな関数を集めた定番のライブラリとかある? >>235
cで関数を引数に取るようなのを見たら卒倒しそうだな。かなりわかりやすい方だと思うけど。単純に関数名や、引数名を取り除いただけだよね 今日学んだこと
・IdをIDにしろって注意される
・ログがインターフェイスじゃない MongoDBのRESTインターフェイスを作って、windowsのサービス化まで出来た
これでブラウザのユーザースクリプトでデータ使いまくれて捗る
Goは始めたばかりだけどサクッと作れた。まったくすごい言語だわ 現在の時刻が日付に関わらずある時間帯に含まれるかどうか判定したいです
time.Timeのbeforeやafterを使うと日付まで考慮されてしまうので
いちいち時刻だけをとりだして比較しているのですが、もっと簡潔な方法ってありますか? 時刻取り出して比較する以上に簡単な方法なんて無いでしょ
そういう関数なりライブラリが欲しいってこと?、無駄な機能無いのが取り柄だし必要なら作れば良いのだが
流石にt.Hourの比較程度を言語で抽象化するのは畑が違うとしか 趣味で作ってるアプリのAPIサーバーをGoに置き換えてみようと思うんだけど、
フレームワークはやっぱりechoが鉄板だと思っていいの? goaもginも知らなかったよ、ありがとう。
とりあえずAPIサーバー用途ならgoaが1番良さそうだからこれ使ってみる。
気が向いたらrailsで動かしてるサービスサイトもどれかに移行するかも。 >>246
それはオライリー片手にやったけど、外に出せるようなレベルまで作り込むつもりはないw ちょっとしたものならgorilla/muxだけでやってる goaの肝はコード生成だから、結構素直なコードが生成される。
そのコード次第も勉強になる。
web apiの作法をむしろ教えてもらった。 変数への代入に := を使うか = を使うかはどうやって判断するのだろう
例えば for i := 1 は普通に for i =1 ではダメなのか var unko = 1
unko := 1
下は上の省略形だと理解してるけど >>254
ループ変数のiが先に宣言されてれば後者で良いけど、特別な理由が無い限りは使わないな
indexの値から開始したい場合、for i := indexとした方が良いだろ :=を代入にあえて使う言語は=には透過性の意味を、:=には定義の意味を持たせて数学寄りにしてるだけだと思ってたが Cしか経験ないのに
Go言語でつくるインタプリンタとか
買ってしまった 奇遇だな、1週間くらい前にその本をAmazonのほしいものリストに入れたわ 失礼
インタプリタじゃなくてインタプリンタを作るのか 俺もその本読んでるけど難しいわ
Token tokenToken とか、冗談だろみたいな記述がゴロゴロ出てくる
型強制言語はこれが嫌なんだよなー
本質的なロジックに関係ないキーワードでコードが埋め尽くされる goって仕様がシンプルで習得しやすいって触れ込みだけど意外と複雑だよね。
直交性が低い「ここだけのルール」みたいなのが意外と多くて辟易する。なんだよrange節って。 すごく頭の良い人が合理性だけでデザインしちゃった感はある。直感的じゃない。
エンジニアだけで作った、便利だけど死ぬほど使いにくいWebサービスみたいな感じ。
まあそれでも他の最近の言語に比べりゃ覚えなくちゃいけないことの絶対量は少ないよ 色々な意味で異質だから慣れるまでは面食らうかもね
慣れてしまえばそんなことはなくシンプルで良い言語 夏休み使ってGo入門したけど、良いなこれ
なんかのCUIツールでも作ってみたくなったけどアイデアはない 上の長文合戦全部読んできたけど、結局Goってバカでも使いやすくするために文明の利器を捨てたプリミティブな言語ってことなんだな
と思ったら>>270って書かれてるし、合理性のために無駄を削ぎ落とした言語なのか? プログラマーに期待する事をやめた言語かな
どうせバカしかいないんだから
管理・使い分けが必要な要素は与えない触らせない 実用的でいいんだよ。言語オタクな人には物足りないだろうけど インタプリタはないのかなあ
いちいちコンパイルすんのめんどくさい 二者択一じゃなくてswiftやkotlinみたいにREPLもあったら良かったってことじゃないの。 >>280
go run
じゃダメかね。コンパイルと実行を続けてやってくれる goが生まれた経緯を調べるとなんでああいう言語が生まれたかわかる。
要は実用性重視で、過去の言語仕様見直して、削られるだけ削った言語と言える。
たぶん1番の使命はコンパイル速度を早くすることかな。 そういや昔Delphiが最速のコンパイラとか言われてた時代が懐かしいな >>285
削って大丈夫な部分は全て削った感じよな
個人的にはいくらなんでも削りすぎな気もするけど、やるからにはそれくらい徹底しないとダメなんだろうな >>280
Go言語でつくるインタプリンタ
を読んでGoのインタプリンタを作ればいい >>287
そうかな?
やたら省略形とかシンタックスシュガーが多かったり、同じ構文で別の意味に用いられたり、
最近の言語にしてはけっこうごちゃごちゃしてるという印象なんだが。個人的には。 scala,rust,haskellとかむずい(;_;) それは2000年頃のJavaのポジションか。ワイはペーペーで高給は取れなかった >>289
予約語の数とか見てみればわかると思うが。 予約語の数は一つの目安だけどそれがすべてじゃあないよね。
記号はカウントされていないし他言語なら予約語になりそうな定義済み識別子がごっそり抜けている。
それよりも>>289で言いたかったのは、例えば型アサーションの構文に型名じゃなくて
予約語のtypeを渡したら型switch内で使えるとか、そういう一貫性の無さからくる複雑さ。
同じような構文に機能を詰め込むから表面上は予約語が増えたりしないわけ。 返り値型宣言したらreturnだけで値が返るとかか。
あれはいらんね >>294
一貫性がないというより他の言語には無い書き方が引っかかるって感じじゃ無いかな?
それは理解できる。 どこをどう読んだらそうなるw
型アサーションの括弧に渡すものが型名のみに限定されていればシンプルだったのに、
それがswitchの中でだけ予約語のtypeを使うことが許されていたりするから一貫性がないって
言っているんだよ。 ■ このスレッドは過去ログ倉庫に格納されています