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/
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インストールしたことあるのはこのスレでは俺ぐらいだろうな
2018/08/22(水) 23:53:04.13ID:NbuzDyqn
>>343
あるおノシ
BeOSも
2018/08/22(水) 23:59:25.91ID:mHU9sjBy
>>344
むむ。お主やるな。
BeOSなら俺もある。ブラウザが不安定で使い物にならなかった。
2018/08/23(木) 00:02:57.97ID:P82sHckz
>>345
どちらも一応うごいた
くらい・・・
BeOSのほうがPlan9よりはうごいた
かな
2018/08/23(木) 12:16:11.26ID:ZF1dQ6CG
珍しく伸びてると思ったら何だこの謎の流れは
348デフォルトの名無しさん
垢版 |
2018/08/23(木) 12:35:46.76ID:29gBK1aD
BeOSってまだ息してるの?
2018/08/23(木) 12:38:10.62ID:PDPMaLlR
Haiku OS R1 Beta Is Finally Happening In September
https://www.phoronix.com/scan.php?page=news_item&;px=Haiku-OS-Beta-September

https://www.haiku-os.org/blog/waddlesplash/2018-08-19_r1beta1_release_plans_-_at_last/
2018/08/23(木) 12:39:45.70ID:NPcuqlt3
Amiga「…」
2018/08/23(木) 12:51:38.07ID:Ag5WvPcJ
GーさんとOっさんしか居ないから
昔話ばっかり
2018/08/23(木) 12:53:10.37ID:NPcuqlt3
エイジハラスメント
353デフォルトの名無しさん
垢版 |
2018/08/23(木) 14:40:36.37ID:6XYPzAmV
隔離されてある程度守られて監視うけてるから死んでないよ。死んだことにしたいらしいが。
2018/08/23(木) 21:25:50.09ID:p0u00SDp
>>352
コイツがどうしたって?
https://pbs.twimg.com/media/DkzewTeU0AAR4pi.jpg
2018/08/23(木) 21:26:36.90ID:jFi7Ee35
懐かしすぎるw
2018/08/23(木) 21:51:06.02ID:WJ6qOUv+
江口寿史じゃねーのかよ
2018/08/24(金) 23:23:26.75ID:6Vm9fYR8
お作法外と知りつつ、コーディング中の簡易的な動作確認としてテスト作ってfmt出力しちゃう
自動テストにゴミ混ざるしやめたいんだけど、どうするべき?

関数名引数で受け取ってリフレクション実行するようなプロジェクト作るとかしか浮かばない
2018/08/25(土) 07:57:53.84ID:BMpD23L5
何がしたくてそんなことやってるん?
2018/08/25(土) 12:01:40.54ID:Buh9wu1g
>>357
俺もよくやるけど。必要な機能をテスト上で書き始めて、動かしてモジュール化して。
最後に必要なテストとして残る。
だからプロジェクトとしてなんの問題もない。
2018/08/25(土) 12:33:16.46ID:00w/RGH3
静的型付言語でリフレクション使いすぎるとあんまり良くない気がする
2018/08/26(日) 17:11:53.66ID:KLdnklRW
外部APIの動作確認とかから始まって
SQLにレコード追加するバッチ処理を1件分だけ回すやつとか

きれいにテストに昇華させてく、は間違いないな
2018/08/26(日) 17:12:52.29ID:KLdnklRW
DBにって言いたかった揚げ足は取らないで(TT)
2018/08/29(水) 01:31:26.89ID:0CwGsWHn
学習し始めたからスレ見に来たら結構やべーやついたんだな…
2018/08/29(水) 05:52:35.93ID:n9AQAOMs
5ちゃんだぞ。やべー奴しかいないに決まってる。
俺もお前もやべー奴だ。
2018/08/29(水) 07:02:28.31ID:TnF3pzfH
go modでGOPATHのsrc以下にある自分のパッケージはどうやって使うの?


// main.go
package main // import "a/b"

import "a/hello"


// go.mod
module a/b


$ go build
build a/b: cannot find module for path a/hello
2018/08/29(水) 08:47:35.97ID:W9Gkpzht
>>365
↓読んだ?

1.2 GOPATHとワーキングディレクトリ
https://astaxie.gitbooks.io/build-web-application-with-golang/ja/01.2.html
2018/08/29(水) 08:57:37.96ID:ZDG8YYaG
おい、Go2がアナウンスされたのになんで誰も話題にしないんだ
2018/08/29(水) 09:08:44.76ID:/gLBAT04
1.11がリリースされても誰も話題にしないし
もうこのスレは死んでるんだよ
2018/08/29(水) 09:15:24.58ID:x+YoJacr
Errorのハンドリングで迷い出してんのな、今の仕様の方が時点の処理を考えるようになったし
冗長に見えるが実際堅牢さに貢献してると思うのだが
2018/08/29(水) 09:16:30.22ID:TnF3pzfH
>>366
go mod も自作パッケージ使う場合は src 以下で作らないといけないんですかね?
// import "a" とか // import "a/b" みたいな src 外では自分のパッケージを使えないということなんですか
2018/08/29(水) 09:32:57.13ID:1fu8l1A+
>>369
んー。でも冗長コードはあんまり書きたくないし、良いことじゃないの?
2018/08/29(水) 09:39:09.75ID:ZDG8YYaG
>>371
俺もそう思うんだけど、これは思想の問題だから揉めそう
2018/08/29(水) 11:07:56.13ID:x+YoJacr
確かに思想の問題なんだよな、例外的なの望んでる人は大抵デプロイするまでのプロセスの簡略化
現状で良い人は少ないと思うけど、リリースしてからの堅牢さを実感した人らで双方のステージが違う感じがする
2018/08/29(水) 12:26:06.26ID:rEBrQhP5
そういえば os.Exit() だと defer で登録した処理が実行されない、って
仕様はそのままなのかな
2018/08/29(水) 12:33:27.40ID:ysBmiu9w
変えたらおかしいやろw
2018/08/29(水) 13:31:28.21ID:rEBrQhP5
ところが runtime.Goexit() の場合はしてくれるんだよね…
2018/08/30(木) 00:14:56.28ID:ckC0jGgS
そらそうやろw
2018/08/30(木) 09:10:32.40ID:hez4Duar
なんだ、bot か
379デフォルトの名無しさん
垢版 |
2018/08/30(木) 10:11:11.51ID:S/vwwZyF
真珠湾
正反対すぎてω
2018/09/05(水) 09:27:40.99ID:ps0MFYyL
go触ってみようかと思うんだけどどこまで低水準なこと出来る?
Cと同程度?
2018/09/05(水) 09:48:42.73ID:tPjc+KWG
具体的に何がしたいのよ
2018/09/05(水) 16:21:13.70ID:ps0MFYyL
基本サーバアプリとモバイルアプリだけど、組み込みに使えたりするのかなと
2018/09/05(水) 20:08:36.48ID:zx26krSS
ラズパイとかlinuxは動く環境なら行けるで
2018/09/05(水) 22:20:41.96ID:tz4l12p3
グーグルの中の人のインタビューを雑誌で見たことがあるけど
組込みには向かないって言ってた
動的型付けやリフレクションをサポートするための情報がバイナリに入るので
サイズが大きくなるとか
あとガベージコレクションのある言語は、基本的に組込みには向かないんじゃないの?
2018/09/06(木) 05:58:38.62ID:3IjImnYf
組み込みならCの方がいいだろなあ
2018/09/06(木) 23:31:45.26ID:f6OhCMiw
mapをmakeで作る利点は何ですか?

m := map[ int ] int {}

m := make(map[ int ] int)
は使い分けする場合があるんですか?
2018/09/07(金) 08:23:19.41ID:LrV5PdxJ
空 map 作るなら全く同じ
前者は値の初期化ができる
m := map[int]int{1, 10}
後者は map のサイズを指定(メモリ獲得)ができる
m := make(map[int]int, 10)
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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