Go language part 2

■ このスレッドは過去ログ倉庫に格納されています
1
垢版 |
2017/11/11(土) 19:25:26.19ID:X8lWnCzG
Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。

公式ドキュメント
http://golang.org/doc/

日本語訳
http://golang.jp

※前スレ
Go language part 1
http://mevius.5ch.net/test/read.cgi/tech/1381374291/
200デフォルトの名無しさん
垢版 |
2018/07/02(月) 16:53:38.24ID:JP9Qw5xK
>>193
みすった -> >>199
2018/07/04(水) 06:58:53.94ID:S2IXE93D
>>200
何を解決したいのかよくわからん
202デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:54:37.11ID:gFgZc5FG
WSB
2018/07/05(木) 16:26:34.61ID:AeL6VB/V
WSB
2018/07/06(金) 08:01:58.35ID:w06Qamjl
ゴルーチンって緩衝必要じゃないですか?
2018/07/06(金) 13:16:19.97ID:jw9gbeZ6
>>204
ゴルーチンって何?
コルーチンなら知ってるけど
2018/07/06(金) 14:07:57.90ID:LdCqv7/c
>>205
ハァ?その言語の識別子も把握してないの?死ねば?
207デフォルトの名無しさん
垢版 |
2018/07/06(金) 15:20:50.78ID:odzQpd8G
何でこのスレ見てるんだ
208デフォルトの名無しさん
垢版 |
2018/07/06(金) 17:12:54.17ID:qtqoxO2d
このゲームわ沼
https://goo.gl/VuXjSo
2018/07/06(金) 17:32:07.54ID:aPiDyuKw
FORTRANマイスターが他の勉強方法を始めたのかもしれん
2018/07/06(金) 19:00:23.58ID:w06Qamjl
呼び方とかどうでもいいけど
当たり前だけどcapacityはメモリ持ってかれるから
チャンネルに飛んでくる数が不定な場合はstack使わないとgoroutine爆発する
ググるとまさにってのがstack overflowにあったけど緩衝するのが普通なの?
なんなんこれ
2018/07/06(金) 21:11:29.12ID:gKdHlKo7
そこまで分かってるなら自分で何とかできるだろう
2018/07/07(土) 00:20:15.43ID:P+j3/coi
C言語に挫折してGoに来たけどやっぱダメでした
ポインタも残ってるし、むしろCより覚えることが増えて難しくなってないか
2018/07/07(土) 00:29:40.41ID:M+34Iyj3
そうか、まぁがんばれ
2018/07/07(土) 01:19:40.89ID:pkJeWJC3
自分でなんとかしてる
capacity小さくても止めとけと、耐えろよと思うわけよ
そのひと手間が普通ならなんだこれはと思うわけよ
Go言語のスレが未だにpart 2な理由よくがわかった
2018/07/07(土) 05:23:35.62ID:gtCUOnhz
スクリプト言語ばっか触っててGoに移行しようとして1月近く経ったけどシンプルなのは良いけど他だと標準で出来ることしようとしたら必要以上に複雑になるな
2018/07/07(土) 09:38:56.87ID:h+p+JRvo
位置づけがCとLLの間くらいだからね
2018/07/07(土) 11:34:48.98ID:BLAzCd2J
Go自体が他の次世代言語とくらべて低機能にしてある
複雑な機能つけても使いこなせない人がいるから単純にしてあるのさ
それがGoの利点ともいえる
2018/07/07(土) 14:03:44.47ID:IMiijYtR
じゃあ俺go使いこなせないから言語ごと消えてどうぞ
2018/07/10(火) 22:09:13.77ID:sLFa49de
行番号振ってVRAMアドレス意識してた古代からタイムワープして来たがLLのがむずい
2018/07/10(火) 22:38:24.36ID:epvMaNIl
抽象度の高さに慣れるしか
2018/07/16(月) 15:29:05.06ID:N67OeEDm
Goでは定数同士の演算はコンパイル時に行われるという認識で正しいですか?
2018/07/20(金) 20:05:59.76ID:79xYVhLD
Goに限らずCでも最適化オプションオフにしない限りコンパイル時に計算してくれるんじゃないかな
2018/07/22(日) 15:52:23.78ID:n3sj4i+0
cのunionとかpackされた構造体の扱いがめんどくさいな
せめて自動でsetter/getterを付けてくれたらいいのに
2018/07/22(日) 20:53:07.07ID:9sj55xoR
僕もただのデータの入れ物的な扱いしてました、何年くらい前だろうか15年くらいかなぁ
2018/07/30(月) 09:32:46.50ID:cinqYph1
Pyhtonの遅さに耐えられずGoを学び始めたんだけど
型の記述がしんどい
これが何を意味するのか読み解くのに土日を要した
func compute(fn func(float64, float64) float64) float64 {
2018/07/30(月) 09:40:07.47ID:EFGajIPT
>>225
どのへんがわからなったの
2018/07/30(月) 11:16:11.98ID:lWqV0g37
ツアーof goからやらないと。型を後置する意味について分かるよ
2018/07/30(月) 11:17:39.17ID:lWqV0g37
Cの関数のポインタ型の分かり肉さに比べるとだいぶマシになったんやで
2018/07/30(月) 11:54:11.80ID:23ygh5KT
返り値に名前付けるとさらにわかりにくくなるぞ
2018/07/30(月) 12:06:09.54ID:8zt/8s1N
片付け言語初めてなら頑張ってくらはい
2018/07/30(月) 12:47:39.61ID:638ggNHY
型無しやるとマジストレス、他人が書いたBugFixとかマジ地獄
232デフォルトの名無しさん
垢版 |
2018/07/30(月) 13:06:10.85ID:OTf1bV4O
>>228
池沼に用は無い
2018/07/30(月) 13:30:11.04ID:yACzSh7r
>>231
typescriptが人気出たのもそれだよね
2018/07/30(月) 18:38:58.64ID:8zt/8s1N
>>232
公式の解説にあったのよ。Cの型が読みにくいからGoはこうしたって。
ワイが池沼とか関係ない
2018/07/30(月) 20:45:55.35ID:cinqYph1
>>226
四つのfloat64、二つのfuncで混乱してしまった
後置はVBAで慣れているのだが、 as がないとまるで別物に見える
2018/07/30(月) 21:41:11.40ID:rh1VkgNx
理解するのに2日もかかったとは…かかり過ぎだろう
2018/07/31(火) 13:08:04.84ID:H1jTAdrX
スライスとかマップで普通に使いそうな関数を集めた定番のライブラリとかある?
2018/07/31(火) 19:07:29.37ID:xC1/ia91
>>235
cで関数を引数に取るようなのを見たら卒倒しそうだな。かなりわかりやすい方だと思うけど。単純に関数名や、引数名を取り除いただけだよね
2018/07/31(火) 22:54:51.46ID:UOVrWRI5
今日学んだこと
・IdをIDにしろって注意される
・ログがインターフェイスじゃない
2018/08/01(水) 01:31:31.58ID:i67K/6im
MongoDBのRESTインターフェイスを作って、windowsのサービス化まで出来た
これでブラウザのユーザースクリプトでデータ使いまくれて捗る
Goは始めたばかりだけどサクッと作れた。まったくすごい言語だわ
2018/08/01(水) 14:23:47.59ID:0CV2ApoM
現在の時刻が日付に関わらずある時間帯に含まれるかどうか判定したいです
time.Timeのbeforeやafterを使うと日付まで考慮されてしまうので
いちいち時刻だけをとりだして比較しているのですが、もっと簡潔な方法ってありますか?
2018/08/02(木) 10:41:38.06ID:GctkuD54
時刻取り出して比較する以上に簡単な方法なんて無いでしょ
そういう関数なりライブラリが欲しいってこと?、無駄な機能無いのが取り柄だし必要なら作れば良いのだが
流石にt.Hourの比較程度を言語で抽象化するのは畑が違うとしか
2018/08/02(木) 12:00:42.07ID:Kw1izFYj
Go以外でもそこまでする言語ないかと
244241
垢版 |
2018/08/02(木) 15:04:47.29ID:o5Ypf9MR
わかりました。ありがとうございます
2018/08/09(木) 11:32:00.96ID:b+ssGMS1
趣味で作ってるアプリのAPIサーバーをGoに置き換えてみようと思うんだけど、
フレームワークはやっぱりechoが鉄板だと思っていいの?
2018/08/10(金) 01:24:50.76ID:Ebk2NCXn
趣味の延長だしFWなしでいこう
2018/08/10(金) 01:35:24.81ID:TsnKzz2s
goaが最強だと思う。
2018/08/10(金) 01:38:51.54ID:4W08/YUW
ロシア人母子が集団レイプされたとこか。
2018/08/10(金) 08:28:27.92ID:uo68Wn/H
ginも定番と聞いとる
2018/08/10(金) 12:53:08.00ID:xghqpyUK
goaもginも知らなかったよ、ありがとう。
とりあえずAPIサーバー用途ならgoaが1番良さそうだからこれ使ってみる。

気が向いたらrailsで動かしてるサービスサイトもどれかに移行するかも。
2018/08/10(金) 12:54:35.24ID:xghqpyUK
>>246
それはオライリー片手にやったけど、外に出せるようなレベルまで作り込むつもりはないw
2018/08/10(金) 15:50:42.46ID:zgyAwqJP
ちょっとしたものならgorilla/muxだけでやってる
2018/08/10(金) 19:13:59.84ID:JIBbU2kk
goaの肝はコード生成だから、結構素直なコードが生成される。
そのコード次第も勉強になる。
web apiの作法をむしろ教えてもらった。
2018/08/11(土) 03:51:00.34ID:0HQvSoaX
変数への代入に := を使うか = を使うかはどうやって判断するのだろう
例えば for i := 1 は普通に for i =1 ではダメなのか
2018/08/11(土) 07:45:06.80ID:6ZhR8OL7
var unko = 1
unko := 1

下は上の省略形だと理解してるけど
2018/08/11(土) 08:37:35.55ID:UpPoKiQT
>>254
ループ変数のiが先に宣言されてれば後者で良いけど、特別な理由が無い限りは使わないな
indexの値から開始したい場合、for i := indexとした方が良いだろ
2018/08/11(土) 10:23:52.00ID:ofcowSnm
:=を代入にあえて使う言語は=には透過性の意味を、:=には定義の意味を持たせて数学寄りにしてるだけだと思ってたが
258デフォルトの名無しさん
垢版 |
2018/08/11(土) 22:11:45.01ID:ssPmT97J
Cしか経験ないのに
Go言語でつくるインタプリンタとか
買ってしまった
2018/08/11(土) 22:21:46.70ID:rpF58VbK
奇遇だな、たった今その本を読み終えたところだわ
2018/08/11(土) 23:02:08.06ID:6ZhR8OL7
奇遇だな、1週間くらい前にその本をAmazonのほしいものリストに入れたわ
2018/08/11(土) 23:09:39.66ID:dFDFw6X4
ぼくも
2018/08/11(土) 23:13:56.51ID:9O8YWkjC
最初からインタプリタ言語使えばいいんじゃないの?
2018/08/11(土) 23:15:23.57ID:9O8YWkjC
失礼
インタプリタじゃなくてインタプリンタを作るのか
2018/08/12(日) 06:51:18.05ID:9VW8NTRO
面白そう。でもなんでgo?
2018/08/12(日) 07:13:44.18ID:G3Q4bI/2
俺もその本読んでるけど難しいわ
Token tokenToken とか、冗談だろみたいな記述がゴロゴロ出てくる
型強制言語はこれが嫌なんだよなー
本質的なロジックに関係ないキーワードでコードが埋め尽くされる
2018/08/12(日) 07:38:05.50ID:3mtMCLJB
記述の仕方と型強制って因果関係あんの?
2018/08/12(日) 08:07:20.19ID:DVi6CNqc
インスタプリン?
2018/08/12(日) 10:54:01.62ID:dVUCF5O6
>>266
無いと思う。
2018/08/12(日) 11:10:03.35ID:vEp19pyF
goって仕様がシンプルで習得しやすいって触れ込みだけど意外と複雑だよね。
直交性が低い「ここだけのルール」みたいなのが意外と多くて辟易する。なんだよrange節って。
2018/08/12(日) 11:16:17.15ID:dVUCF5O6
すごく頭の良い人が合理性だけでデザインしちゃった感はある。直感的じゃない。
エンジニアだけで作った、便利だけど死ぬほど使いにくいWebサービスみたいな感じ。
まあそれでも他の最近の言語に比べりゃ覚えなくちゃいけないことの絶対量は少ないよ
2018/08/12(日) 12:18:14.45ID:Yq0OK+FX
さぁ、バカ自慢が始まりました
2018/08/13(月) 11:11:39.30ID:HTY6GtFC
色々な意味で異質だから慣れるまでは面食らうかもね
慣れてしまえばそんなことはなくシンプルで良い言語
2018/08/13(月) 11:39:46.48ID:/+hdyElr
他の片付け言語より覚えることは少ないと思う
2018/08/17(金) 08:42:19.65ID:LhGk886y
夏休み使ってGo入門したけど、良いなこれ
なんかのCUIツールでも作ってみたくなったけどアイデアはない
2018/08/18(土) 15:04:10.02ID:uFL7UmBD
上の長文合戦全部読んできたけど、結局Goってバカでも使いやすくするために文明の利器を捨てたプリミティブな言語ってことなんだな
と思ったら>>270って書かれてるし、合理性のために無駄を削ぎ落とした言語なのか?
2018/08/18(土) 15:14:30.00ID:AV8sCUvE
使ってみればいいんじゃね
2018/08/18(土) 15:17:48.79ID:uFL7UmBD
味見?してみるか
2018/08/18(土) 15:45:10.96ID:KUimL+Rt
プログラマーに期待する事をやめた言語かな
どうせバカしかいないんだから
管理・使い分けが必要な要素は与えない触らせない
2018/08/18(土) 18:19:48.94ID:htfFBjos
実用的でいいんだよ。言語オタクな人には物足りないだろうけど
2018/08/18(土) 18:44:44.53ID:8jUM31oq
インタプリタはないのかなあ
いちいちコンパイルすんのめんどくさい
2018/08/18(土) 18:47:11.13ID:PMPVVek/
俺はコンパイラ型の方が好き
2018/08/18(土) 19:26:30.00ID:/4eOy7p1
二者択一じゃなくてswiftやkotlinみたいにREPLもあったら良かったってことじゃないの。
2018/08/18(土) 20:16:19.02ID:htfFBjos
>>280
go run
じゃダメかね。コンパイルと実行を続けてやってくれる
2018/08/18(土) 20:39:08.80ID:xt3abbWh
IntelliJでやってるからそこらへん楽
2018/08/18(土) 20:57:26.20ID:yeTG0VXv
goが生まれた経緯を調べるとなんでああいう言語が生まれたかわかる。
要は実用性重視で、過去の言語仕様見直して、削られるだけ削った言語と言える。
たぶん1番の使命はコンパイル速度を早くすることかな。
2018/08/18(土) 21:12:56.62ID:24N2f8T2
そういや昔Delphiが最速のコンパイラとか言われてた時代が懐かしいな
2018/08/18(土) 22:30:57.29ID:b/8OtQ4O
>>285
削って大丈夫な部分は全て削った感じよな
個人的にはいくらなんでも削りすぎな気もするけど、やるからにはそれくらい徹底しないとダメなんだろうな
288デフォルトの名無しさん
垢版 |
2018/08/18(土) 22:38:55.00ID:24+fGF10
>>280
Go言語でつくるインタプリンタ
を読んでGoのインタプリンタを作ればいい
2018/08/18(土) 23:06:04.40ID:/4eOy7p1
>>287
そうかな?
やたら省略形とかシンタックスシュガーが多かったり、同じ構文で別の意味に用いられたり、
最近の言語にしてはけっこうごちゃごちゃしてるという印象なんだが。個人的には。
2018/08/18(土) 23:10:56.95ID:dC3ubkhJ
scala,rust,haskellとかむずい(;_;)
2018/08/18(土) 23:42:53.18ID:IFGt63Zz
Go使うと年収1000万超えるから好き
2018/08/19(日) 10:39:16.33ID:stUXmSKw
それは2000年頃のJavaのポジションか。ワイはペーペーで高給は取れなかった
2018/08/19(日) 10:56:36.30ID:2zvtFV6n
>>289
予約語の数とか見てみればわかると思うが。
2018/08/19(日) 11:33:38.00ID:vLeO9jZJ
予約語の数は一つの目安だけどそれがすべてじゃあないよね。
記号はカウントされていないし他言語なら予約語になりそうな定義済み識別子がごっそり抜けている。

それよりも>>289で言いたかったのは、例えば型アサーションの構文に型名じゃなくて
予約語のtypeを渡したら型switch内で使えるとか、そういう一貫性の無さからくる複雑さ。
同じような構文に機能を詰め込むから表面上は予約語が増えたりしないわけ。
2018/08/19(日) 11:58:16.15ID:lZcmjYCw
返り値型宣言したらreturnだけで値が返るとかか。
あれはいらんね
2018/08/19(日) 12:25:40.60ID:2zvtFV6n
>>294
一貫性がないというより他の言語には無い書き方が引っかかるって感じじゃ無いかな?
それは理解できる。
2018/08/19(日) 12:51:00.54ID:vLeO9jZJ
どこをどう読んだらそうなるw
型アサーションの括弧に渡すものが型名のみに限定されていればシンプルだったのに、
それがswitchの中でだけ予約語のtypeを使うことが許されていたりするから一貫性がないって
言っているんだよ。
2018/08/19(日) 13:30:04.28ID:p2YlCy/l
C#みたいにすりゃよかったのにな
2018/08/19(日) 13:32:46.37ID:6q4oK8R8
  /\___/\
/ /    ヽ ::: \
| (●), 、(●)、 |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|  ,,ノ(、_, )ヽ、,,   |  < まーたはじまった
|   ,;‐=‐ヽ   .:::::|    \_______
\  `ニニ´  .:::/
/`ー‐--‐‐―´´\
■ このスレッドは過去ログ倉庫に格納されています