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/
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
  /\___/\
/ /    ヽ ::: \
| (●), 、(●)、 |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|  ,,ノ(、_, )ヽ、,,   |  < まーたはじまった
|   ,;‐=‐ヽ   .:::::|    \_______
\  `ニニ´  .:::/
/`ー‐--‐‐―´´\
2018/08/19(日) 13:58:26.44ID:2hMRvgbC
もともとグーグルの天才たちが内輪で使うために作った言語だろ?
Cと同じで、俺ら凡才には理解できない・向かない部分があるのは仕方ないと思う
2018/08/19(日) 14:54:53.63ID:2zvtFV6n
>>297
それに引っかかるのってせいぜい数時間だよね。
俺は仕事でさわるコードの一貫性のなさに苦しんでるけど、そっちのほうがしんどい。
2018/08/19(日) 15:14:57.95ID:bSmBOLeO
一貫性が無いのは事実なのにズレた話で絡み続けるのはなんなんだ
場当たり的な構文糖衣も多いのに削るだけ削ったとか嘘もいいとこだろ
妙な幻想持ちすぎ
2018/08/19(日) 15:20:37.45ID:vLeO9jZJ
golangの仕様とその糞コードに何の関係が?
2018/08/19(日) 16:31:17.10ID:6q4oK8R8
話の腰をブチ折ってすまんが、「Go言語でつくるインタプリタ」の
最終章のマクロ展開(expansion)のトコ、マクロを再定義しても元
の定義で展開されちゃうんだけど、誰か試した奴おる?
2018/08/20(月) 08:22:43.32ID:YqWy36PS
>>302
気に入らない事どんどん上げていきなよ。
他にはどんな問題を感じてんの?
2018/08/22(水) 14:03:53.67ID:Opme7aq9
やっぱりGo言語来そうだね。
だがGoogleでしか使えないのが心配。
2018/08/22(水) 14:25:29.06ID:WpJJQu28
えっ、そうなんだ
2018/08/22(水) 16:02:59.21ID:vNqz0DY2
Googleでしか使えないってどういう意味だ
2018/08/22(水) 16:03:24.55ID:phfOvOzt
新しい伝説来たな
2018/08/22(水) 16:15:45.29ID:yI6HBiG5
Dockerは偉大
2018/08/22(水) 16:18:57.79ID:hTVO+9jP
Google様に逆らったらインターネットに住めなくされちまうだ
2018/08/22(水) 16:58:50.04ID:I86cqmu2
>>311
中国に亡命すればええだ
2018/08/22(水) 17:01:15.60ID:I86cqmu2
>>306
一応、念のため確認しておくけど、GASと混同してないよね?
2018/08/22(水) 20:25:41.59ID:mHU9sjBy
awsでも使えるんだね。失礼しました。
2018/08/22(水) 20:28:04.47ID:mHU9sjBy
>>313
違います
2018/08/22(水) 20:33:52.54ID:0XlZNPWV
>>314
え、まじで何の話をしてるか分からないからどういう意味なのか教えて
2018/08/22(水) 20:34:23.89ID:mHU9sjBy
>>308
Googleのクラウドでしか使えないと思った
2018/08/22(水) 20:35:21.52ID:mHU9sjBy
>>316
awsのlambdaとかで使えないのかと思っただけ
2018/08/22(水) 20:38:55.02ID:0XlZNPWV
ああそういうことね
なんか、割と根本的なところをあまり理解してなさそうだね
2018/08/22(水) 20:39:26.49ID:mHU9sjBy
根本的なところとは?
2018/08/22(水) 20:41:44.88ID:KWi0p3U0
こんな初心者でも扱えるGoすげー
2018/08/22(水) 20:41:47.99ID:mHU9sjBy
Node.jsとかPythonとかとは根本的に違うの?
2018/08/22(水) 20:44:30.53ID:mHU9sjBy
はいはい初心者は退散しますよ
せいぜい威張っててください
下らねえ
2018/08/22(水) 21:15:55.22ID:WpJJQu28
退散しますよ、と言って素直に退散した奴はいない
2018/08/22(水) 21:21:38.92ID:mHU9sjBy
なぜわかった?
2018/08/22(水) 22:06:08.33ID:cXjfJaZN
だって君すっごいめんどくさい人オーラ出てるもん
2018/08/22(水) 22:09:57.34ID:mHU9sjBy
>>326
おまえは凡人オーラが出てるな
2018/08/22(水) 22:12:27.61ID:cXjfJaZN
>>327
自分でもそう思う。
2018/08/22(水) 22:15:15.00ID:cXjfJaZN
ちなみにNodeとかPythonとかとはすごく大きなところで違いがあって、それがGoたんの大きな大きな特徴の一つだったりする。
2018/08/22(水) 22:16:36.57ID:mHU9sjBy
そうかそれはすごいな
2018/08/22(水) 22:37:05.81ID:mHU9sjBy
いつまでたっても具体的な噺が出てこないところを見ると
あまり詳しい人はこのスレにはいないようだな
2018/08/22(水) 22:48:06.32ID:1ZySJXOP
素直に教えてくれって言えよw
もうここまで来たら誰も教えてくれないだろうけどw
2018/08/22(水) 22:54:59.28ID:mHU9sjBy
どうせ知らないだろ
2018/08/22(水) 22:57:38.31ID:mHU9sjBy
もったいぶって言わないってことは
そいつにとってそれが限界だってこと
2018/08/22(水) 23:02:01.80ID:1ZySJXOP
実はGo言語のマスコットがとても可愛いんだ
それが大きな違いだな
2018/08/22(水) 23:10:32.27ID:mHU9sjBy
>>335
plan9に似てる
2018/08/22(水) 23:13:05.22ID:1ZySJXOP
>>336
Pythonの間抜けそうな蛇よりははるかに可愛いだろ
2018/08/22(水) 23:13:50.11ID:0YvB5ppq
マスコットで言えばD言語もかなり人気だけど言語自体を使ってる人って殆ど見たことないよね
2018/08/22(水) 23:17:09.75ID:1ZySJXOP
D言語なんて存在は知ってるけどHello Worldすら書いたことがない
2018/08/22(水) 23:17:57.63ID:mHU9sjBy
Plan9とGoは作ってる人が一緒(ケン・トンプソン)だからかな?
2018/08/22(水) 23:24:02.54ID:mHU9sjBy
D言語君って…
2018/08/22(水) 23:26:25.80ID:WpJJQu28
プロファイリングが簡単にできるのもいい…あるプログラムを調べて
いたら、整数値の 2^n 乗を計算するのに math.Pow() 使ってる部分が
あって、そこを直すだけで 15% 高速に
2018/08/22(水) 23:49:21.57ID:mHU9sjBy
Plan9インストールしたことあるのはこのスレでは俺ぐらいだろうな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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