Go language part 3

■ このスレッドは過去ログ倉庫に格納されています
2019/10/17(木) 21:38:04.78ID:wMsZ+t6y
Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。

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

日本語訳
http://golang.jp

※前スレ
Go language part 2
https://mevius.5ch.net/test/read.cgi/tech/1510395926/
2020/02/02(日) 19:31:26.77ID:N5COx75g
モジュールと言われても用語としての範囲が膨大すぎて意味が伝わらない
2020/02/02(日) 22:01:03.97ID:N57GyRxf
みんなのGo買ったけど初心者向けじゃなくて読んでないんですが
本当に初心者向けの本ってありませんか?
2020/02/02(日) 22:10:14.40ID:dqawCQuQ
本じゃないけど

Golang tutorial
https://golangbot.com/learn-golang-series/
2020/02/03(月) 00:07:31.65ID:Uql495sI
>>252
今いい本はないと思う
255デフォルトの名無しさん
垢版 |
2020/02/03(月) 12:03:18.74ID:62FLJlST
みんなのGoってオンラインで無料で全部読めるやつ?
2020/02/03(月) 12:29:31.57ID:YoBHNt10
>>252
改訂2版 みんなのGo言語、2019/8/1
この本は、各言語の「Effective 何々」に当たる本

改訂2版 基礎からわかる Go言語、古川昇(エイベル)、2015
この本が初心者向けの文法書

>>246
に書いてある、翻訳プロジェクト、公式サイトの日本語訳
http://golang.jp/
は、エイベルの古川部長と社員が書いていた
2020/02/03(月) 13:10:43.80ID:gvFxJnFo
ガチの初心者がGoなんか使って何するのか、嫌味じゃなくて興味がある
Goは言語だけできても全く何の役にも立たないと思うが、
本来のGoのコンセプトの通りに、ペーペーにGoだけ覚えさせてアプリケーションコードだけ書かせるような組織が日本にも存在する時代になったのだろうか
258256
垢版 |
2020/02/03(月) 16:01:19.93ID:YoBHNt10
サーバー側は、Ruby → Node.js, Go

今世紀最大の起業家、Vagrant の作者・Mitchell Hashimoto なんか、まさにそう。
今や、Go の重鎮

Ruby on Rails, Sinatra などで、サーバー側を一通り作った人が、Go へ行く。
そういうキャリアパスでは「みんなのGo言語」は、良い本
2020/02/03(月) 18:05:01.17ID:XimuQ1Xy
>>257
>Goは言語だけできても全く何の役にも立たないと思うが、

Goに限らず汎用言語はみんなそうだろ
標準ライブラリが充実してて言語の構成要素が少ないGoを
最初の言語として選ぶのは悪くない選択だと思うぞ
C/Java/C#/JavaScriptらと比べるとずっと簡単
2020/02/03(月) 18:16:47.48ID:Uql495sI
だからこそモジュールのバージョン管理が大事なんだと思う
2020/02/03(月) 18:18:43.56ID:Uql495sI
基礎からわかる Go言語もずぶの素人には難しいと言うか無理だろこれは
2020/02/03(月) 19:53:53.66ID:fumIbgov
関数の引数で []*xxx と []xxx があるんですが、どっちを使ったらいいんでしょうか
2020/02/03(月) 20:45:13.09ID:eCgFnDlS
間違ってたらコンパイルエラー出るから、コンパイルエラーが出ないほう
呼んだ先の関数の引数の定義をよーく読め

でも、実際に渡している方の部分を見て書いてる可能性もあるか……
インターフェースの配列を受け取る関数だとすると、どちらでもコンパイルエラーは起こらない
ぶっちゃけ、その場合はどちらでも構わないことが多い

[]xxxxは、xxxxがインターフェースでなく構造体だったなら、十中八九はバグだと思う
バグでなく意図的に使うケースもありはするけど………………
2020/02/03(月) 21:09:34.89ID:gvFxJnFo
>>259
もちろんライブラリやフレームワークの学習は前提だけど、
仮にプログラミング初学者がGo勉強して基本的なCRUDアプリを作れるようになったとして仕事あるか?
極端な話、初学者がSpringとかASP.NETとかRailsとか覚えたら、
サーバーを起動する方法もその上でアプリを動かす方法も知らなくても仕事はいくらでもあるわけだよ
一方Go名指しの求人って、ほぼ例外なく、複数言語が使えてAWSもわかるフルスタックな人が期待されてると思うんだよな
もちろんGoが使えたらプログラミングの素質はあるだろうってことでの採用はありうけど、
そうやって入った環境では多分Goを書かせてはもらえないだろう
2020/02/03(月) 21:11:33.43ID:fumIbgov
なんかポインタとsliceが糞だなあ
2020/02/03(月) 21:12:18.59ID:fumIbgov
containsメソッドすらないとか頭おかしい
2020/02/03(月) 22:08:48.44ID:XimuQ1Xy
>>264
同意するかは別にして言いたいことは理解した
そういう内容なら「Goは言語だけできても全く何の役にも立たないぞ」じゃなくて
「初学者がGoだけ習得しても仕事はないぞ」って書けばいいんじゃないかな
2020/02/03(月) 23:33:18.01ID:MUEM5Vrv
>>266
https://play.golang.org/p/fZ3EJyfPYWg
(メソッドじゃないけど)

やはり reflection は遅いな…… 早く >>222 の contracts を正式採用してほしい
2020/02/04(火) 18:47:00.52ID:XAK/YcTO
Goは標準ライブラリが洗練されてない感じがする
2020/02/04(火) 21:23:46.96ID:U30pp8jN
go言語って糞じゃね馬鹿じゃね
2020/02/04(火) 21:32:43.59ID:U30pp8jN
結局みんなと同じようにRuby on RailsとかPHPやっとけばいいんじゃねえのか
人と違うことしてる俺様かっこいいみたいなデスクトップのLinux使ってよく分からないエラー出ながら使ってる奴とか
そういうことじゃねえのかポインタとかスライスとか糞
[]xxxと[]*xxxをAPIのレスポンスで返したら同じjsonが返ってくるとか糞
普通ポインタの配列なんだからアドレスの羅列が返ってくるんじゃねえんか
マジ糞言語
2020/02/04(火) 21:58:02.63ID:zLczLA6F
スクリプト言語ならpythonじゃないの今は
2020/02/04(火) 22:07:10.93ID:Z75ak/G2
goはあちらこちら洗練されてない。存在としては好きなんだがなぁ。
2020/02/04(火) 22:19:47.96ID:/eeo/zhy
洗練されているプログラミング言語ってあるのか?
2020/02/04(火) 22:39:33.05ID:Bi0juC3i
矛盾が少なくて必要最小限の仕様しかない、という意味ならC
だから未だに現役なわけで
俺はJavaScriptが好きだけど
JSもCと同様Alt-JSが大量に発生したものの殺しきれなかった、という意味ではある程度洗練はしている
言語としての問題は typeof(null)==="object" 位
2020/02/04(火) 22:49:15.87ID:U30pp8jN
やっぱgoに使い慣れている人でも糞だと思ってるんだな
2020/02/05(水) 00:01:28.88ID:+M89QQ88
>[]xxxと[]*xxxをAPIのレスポンスで返したら同じjsonが返ってくるとか糞
ちょっと意味がわからないけど、要するにポインタレシーバでのインターフェースで実体も受け取れるという話じゃないかと思うんで同意
すんごくブッ飛んでるよなあれは……
2020/02/05(水) 00:11:37.94ID:+M89QQ88
JavaScriptも嫌いじゃないけど、ほぼほぼ毎年仕様が追加されていて着いていけない
prototypeで書いてもいいよね?bind使っててもいいよね?ダメ?
2020/02/05(水) 01:02:22.30ID:gohv3xpv
goは何がだめといって、まず名前が駄目
2020/02/05(水) 01:28:31.42ID:+M89QQ88
公式サイトですらgolangだもんな……

C言語よりは検索性に優れてるよ!w
甲乙じゃなくて丙丁つけがたい争い
2020/02/05(水) 09:20:22.69ID:xGO7LiGl
go とか [] とか []* とか すごく検索しづらい
2020/02/05(水) 09:21:05.78ID:jAnPlWtF
>>278
エアプかよ
さすがにbindがNGは今時ないと思うぞ

まあそうやって駄目な理由を探しているようではずっとエアプのままだろうよ
goが洗練されていないのは当たり前、新しい言語だからだ
何だかんだでJavaScriptは25年、Cなんて50年近いのだから、必要な仕様はとっくに入っている
JavaScriptでも、今追加されている仕様はそもそも「あってもなくてもいいもの」でしかない

それに比べて、まだgoは根本的な部分で仕様変更が為されている段階だろ
この意味では、今現在のgoをプログラミング初心者が触るのは間違っているとは言えると思うけど
お前も含めて
2020/02/05(水) 09:26:08.48ID:xGO7LiGl
糞じゃね言って同意って言われるのが終わってる
否定してほしくて敢えて過激なこと言ってるのに
2020/02/05(水) 11:25:45.04ID:xJPwpbdq
Goが気持ちいいのは、意識高い先人達が築き上げてきた無駄に複雑な数多の概念を「Goだから」で一蹴できるところ
例えばテストコードの assert that 系のDSL
誰もが薄々糞だと気付いていたが、意識高い空気がそれを許さなかった
それを堂々と「こんな糞は要らんかったんや!ifでええんや!」と言えるお墨付きが貰えた
Goが数々の欠点にも関わらず言語として好まれた本当の理由は、そういうカタルシスにあると思うわ
2020/02/05(水) 11:28:29.38ID:jAnPlWtF
>>283
構ってちゃんは死ね
また、そういう態度はWebを駄目にするからマジで死ね
2020/02/05(水) 11:38:29.79ID:jAnPlWtF
>>284
それは一理ある
公式でも言っているとおり、Goは敢えてガラガラポンしている
多分、いわゆる「お作法」に辟易している若くて元気のいい奴に受けているのだと思う
だから「結果的に再発明になってもいい」と思える奴等には良いプラットフォームだろう

(なお俺はassertなんて使わないことは一応付け加えておく)
2020/02/05(水) 12:34:56.45ID:qmME163k
みんなgoとかgolangって書いてるけど実際はGoなんだよね
2020/02/05(水) 13:20:07.74ID:a4For48W
Goだけで全て完結して欲しい割りとマジで
2020/02/05(水) 14:25:36.89ID:37hCX2la
Hiromi Go
2020/02/05(水) 14:30:53.97ID:qmME163k
文字関連のライブラリとかかなり雑と言うか古臭く感じる
cから発展したともとれるが嫌な感じだな

uint64を文字列にするのもいまだにググって調べてる
2020/02/05(水) 14:47:19.60ID:37hCX2la
毎回ググって調べてる奴の方が雑…というか鈍くさい
2020/02/13(木) 21:15:58.79ID:T5TlK5HS
>>284
俺みたいな老害Cプログラマがマウント取りまくれる言語仕様なんだよね
例外とかいらん!オブジェクト指向もいらん!
スクリプト言語のおしゃれ感もいらん!
2020/02/13(木) 22:33:18.92ID:iq5JxXln
interfaceとgoroutineはオシャレだと思うぞ。あとはダサダサだけどw
2020/02/13(木) 23:42:46.27ID:XZZdbCcO
selectの非同期待ち受けって、素敵だと思うの
もじもじ……
2020/02/13(木) 23:49:11.45ID:TfOBxj3E
goroutine周りは記述が簡便で初心者も手を出しやすい雰囲気を醸し出してるのに、実際には低レベルで罠が多いんだよなあ
これだけ徹底的な低能仕様なのにデッドロックに対する安全機構のようなものが何もないのはいかがなものか
せめてpromise的なのくらいは欲しい
2020/02/13(木) 23:58:15.23ID:Dd88Q3ZL
context を使えばいいじゃない
2020/02/13(木) 23:59:19.40ID:WnzNNrEx
Goの非同期機能の公式の説明で共有メモリは危険だとかドヤ顔で講釈垂れてる割には
ちょっとchannelの扱いをミスると簡単にデッドロックするんだよな
Goの設計のセンスは基本的には素晴らしいと思うけど、
非同期処理の難しさに関してはGoをもってしても効果的な解決法を見つけられなかったのは残念だな
2020/02/14(金) 00:51:14.63ID:omTyaEgD
日本人がROKUを作るしかないん?
2020/02/14(金) 01:41:01.83ID:ZOPvzA9P
わー、おもしろーい(棒
2020/02/14(金) 01:56:54.67ID:Hve2JDLg
rokuなもんにならんぞ(´・ω・`)
2020/02/14(金) 02:26:38.26ID:uaJ858N7
おっさんが多いスレッド
2020/02/14(金) 17:05:12.42ID:eYQzFX5X
Raku?
2020/02/23(日) 01:33:36.39ID:U23kWfzF
golang.jpが壊れて治らないから諦めてwebarchive行くことにした
2020/02/23(日) 05:51:08.90ID:PJULYhLo
あのサイト更新しないなら迷惑だから手放して欲しい
2020/02/23(日) 07:32:28.47ID:o7OSgZYn
golangが完全に終焉するとき
名前がgoneにかわる
2020/02/23(日) 17:32:58.19ID:7lSJO0LZ
golang-jp.netみたいな日本向けドメイン取って誰かが新しいサイト作って
2020/02/23(日) 17:33:15.17ID:7lSJO0LZ
アフィリエイトで広告踏みますのでよろしくおねがいします
2020/02/23(日) 18:26:12.17ID:gLwCsTk/
gone lang
2020/02/24(月) 09:46:04.88ID:bte5/Coq
Ghosn lang
2020/02/25(火) 09:16:55.76ID:FJcTVnd7
go(rust)lang
2020/02/26(水) 01:59:09.78ID:YauYlfg9
goとrustは目指す目的が違いすぎて、並べて書く意味がなさすぎ
2020/02/26(水) 12:27:16.65ID:/3rsbH1+
go 1.14
2020/02/26(水) 13:50:20.35ID:j/r89lCN
キタ━━━━(゚∀゚)━━━━!!
2020/02/26(水) 20:33:01.24ID:QT81+JLb
1.14のissueって昨日まで20個以上残ってたと思ったけど、あれどうしたのかな
2020/02/26(水) 20:55:36.03ID:XPF0nW9S
release blocker issueは2個くらいだったし
それ以外は次バージョンに延期でしょ
2020/02/27(木) 01:35:23.22ID:G3iz3let
>>297
とりあえずブロックするって方向はそんなに悪くはないと思う。
あとはブロックされてリークしたgoルーチンの回収をどうするか。
317デフォルトの名無しさん
垢版 |
2020/03/03(火) 01:30:23.85ID:x7gOP/hQ
プログラミング言語人気ランキング2020、2位に「大躍進」したあの言語
https://active.nikkeibp.co.jp/atcl/act/19/00124/022700001/
2020/03/03(火) 01:54:48.77ID:GH0v9Mba
>>317
なにこのクソ統計
2020/03/03(火) 06:54:36.36ID:FZdU/a7Y
「つまらないアンケートに答える層が使っている言語」の統計
FORTRANより下に主流の言語があるのがなかなか
2020/03/03(火) 15:18:27.96ID:XIdDQCX/
C/C++いまだに多いけどどういう人が投票してるんだろう
統計でデタラメな誘導するのはやめて欲しいよ
2020/03/03(火) 15:55:28.64ID:2rm+3KZn
お前らが見慣れてるような言語ランキングだって相当なバイアスがかかってるだろう
日本の実情としてはまあ納得できるランキングだと思うけどな
むしろこの面子でGoが意外と健闘してるのは驚き
C/C++が多いのは、業務システム分野では互いに競合する言語が比較的多いのに対して、組み込みや制御の分野の中では代替が事実上存在しないからだろうね
2020/03/03(火) 17:03:27.84ID:dzRX5ub5
Rubyは始まりも、オワコンなのよ
そうよ、Perlと共にお墓に向かってるの
どんなときでも時代はPHP♪
homubrewもrubyを切り捨てた現実を受け入れなさい!
2020/03/03(火) 17:35:54.85ID:XIdDQCX/
FORTRANがあるということは製造業なのかな
それも主に自動車産業
2020/03/03(火) 18:07:23.29ID:GH0v9Mba
アセンブリも多すぎ
2020/03/07(土) 02:35:58.91ID:uuMmixxo
>>317
4位SQLてw
2020/03/07(土) 07:25:40.42ID:YTwNY1/M
まあ、職業プログラマーでSQL使わない奴なんてまず居ないだろから
2020/03/07(土) 22:21:25.44ID:NtlWTdSr
今の現場、DBが完全にDynamoDB(KvS)に移行したぞ
リレーショナルデータベース使わなくなった
2020/03/08(日) 02:34:50.44ID:4UY9QB9Z
いくらサービスのOLTP系のDBがDynamoDBオンリーでも、会社なら業務系のDBとかデータ分析用のDWHとかあるしWebエンジニアでもたまにはそういうところ触ることもあるだろ?
お前の狭い業務では使わなくなった、の間違いだ
2020/03/08(日) 03:17:31.31ID:HYkfeWN3
どうでもええわw
2020/03/08(日) 04:52:01.22ID:upYPFzc2
それにしても使えば使うほどクソさが見えてきて
嫌悪しかでてこない言語だなgolangは
2020/03/08(日) 08:39:45.83ID:Dz/wpeTc
なんでそんなこと言うの?
332デフォルトの名無しさん
垢版 |
2020/03/08(日) 13:05:02.79ID:Y2NtS7Rm
>それにしても使えば使うほどクソさが見えてきて
これはほぼどの言語にも当てはまらなくはない

>嫌悪しかでてこない言語だなgolangは
個人の主観です
2020/03/12(木) 09:34:07.31ID:Ebv8j1sh
Kotlinは使えば使うほど良いなと思う
サーバーサイドもKotlinの世界になればいいのだ
2020/03/12(木) 12:44:20.39ID:anpcnzvY
ちょっと鮮度が落ちた話だけど Let's Encrypt が幾つかの証明書を無効化する羽目に
その原因がgolangあるあるの、実体配列ループでコピーしたオブジェクト書き換えてたバグらしい
実体配列ってクソだな
2020/03/12(木) 12:51:29.46ID:/zI1t72q
何で参照を渡していたのか不思議…
数行下では値渡しにしているのに
2020/03/13(金) 02:40:12.76ID:4YqISaPE
>>334
大人しくpython使ってればこんなことには
2020/03/13(金) 05:59:29.90ID:Rzi4PTPR
pythonのほうでも、旧アマ driveを便利に使えるようにする一番有名だった
3rd partyツールが、関数に渡す引数の扱いを間違えて別の人のファイルが
見えるようになったりしてたけどね
旧driveの容量無制限と3rd partyへのAPI解放をやめさせた遠因
338デフォルトの名無しさん
垢版 |
2020/03/14(土) 11:58:15.74ID:uur41bNT
>>333
goとcとphpしかやったことないんだけど、Kotlinええの?
2020/03/14(土) 12:17:59.41ID:QJEYt0Xf
>>333
Javaランタイムで動かす別言語だと思ってたが、サーバでは使えんの?
そもそもgolangスレで発言した意図がわかんない
Javaスレに行けば?
2020/03/14(土) 14:12:55.38ID:vQxdnG1j
コンテナ時代にJavaはなあ
Java系はそのエコシステムの中だけで完結するからこそ意味があるんだよ
そもそもJavaプラットフォームは十分にポータブルで、コンテナのような低レイヤの抽象化を必要としない
Javaをコンテナに閉じ込めて動かすのはJavaの全盛期を知る者としては屈辱だよ
341デフォルトの名無しさん
垢版 |
2020/03/14(土) 14:50:10.22ID:XTUayws2
WSLは許せるのか
2020/03/15(日) 00:47:49.73ID:KkMos+RN
Javaの欠点はメモリを食い過ぎること
本当にこれだけだと思う
2020/03/15(日) 08:43:01.20ID:8J0oZhmC
javaの欠点はメソッド名が長すぎ
何をするにも面倒臭い
アレとアレをつなげてコレとコレをつなげてやっとこさHellow World
2020/03/16(月) 09:48:42.75ID:f+IsD9WS
Javaとかいて邪魔と読みます。くらいに要らない子
2020/03/27(金) 23:34:18.93ID:D2Bp07zH
Java馬鹿にしてるやついるけど

if err != nil をコピペしまくる言語よりかはダサくないよ(笑)
2020/03/28(土) 00:54:18.47ID:FwiSGISO
JavaをバカにしていいのはC#とかの直系親族かなー
でも御先祖様だから敬わないと
golangから見てそれこそカブる部分が少ないんで他所の御家庭

でもVBさんちは何とかしてほしいと思ってしまう自分を許して
2020/03/28(土) 10:49:35.20ID:uzyy0FkO
コピペって(笑)、インテリセンスとかスニペットが無い世界の人は大変だな
2020/03/28(土) 13:55:52.36ID:0D5kTPqj
Javaがバカにされるのはそれを使っているプログラマのせいじゃないかと思う。
企業需要が大きいから促成栽培のドカタが量産されたという。

純粋に言語として評価したら、CやC++の問題点をよく研究している印象なんだがな。
2020/03/28(土) 14:41:47.75ID:+WXFsbEZ
ダサいと感じるかどうかは人それぞれだが
エラーハンドリングのボイラープレートが
どうしようもなく多いのは事実だよね

Go2に期待してたんだがな
2020/03/28(土) 14:51:39.39ID:rPoOVFdT
Goのやり方の是非はともかく、例外がいつどこから飛んでくるかわからない「漠然とした不安」がないのはいい
あの不安は少なからず脳の働きを阻害して生産性を下げてると思うわ
2020/03/28(土) 18:25:33.89ID:1J/Yumyc
書く量が多くなるとかそれぐらいは別にいいんだけどさぁー
どうせコピペするだけだし(笑)
最初にエラーハンドリングはそこまで要らないなと思って書いてたコード群が
後で扱うデータの仕様変更があってエラーハンドリングが必要になったときに
ガッポリその部分覆ってまとめてエラー扱うってのが一切できないんだよな
こうなってしまうと全部のコードリファクタしないといけないしなんなら
個別のロジックまで追いかけて問題ないかチェックしないといけなくなる
こういうところがgoはクソなんだよな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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