Go language part 4

■ このスレッドは過去ログ倉庫に格納されています
2020/11/16(月) 04:14:40.64ID:fB5+0hxC
Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。

公式
https://golang.org

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

公式外パッケージドキュメント
https://godoc.org

ブラウザ上で試し書き
https://play.golang.org


※前スレ
Go language part 3
https://mevius.5ch.net/test/read.cgi/tech/1571315884/
2021/02/26(金) 10:33:50.46ID:jNY0Xh1+
Golang でグラフィックやろうと思う時点で変
2021/02/26(金) 12:53:20.65ID:Bk6XWue8
イメージを生成するサービスを考えてたん
2021/02/26(金) 12:57:25.97ID:jNY0Xh1+
      ∧,,,∧
     (・ω・` ) スマンカッタ・・・
     / y/ ヽ
 ━(m)二フ⊂[_ノ
     (ノノノ l l l )
  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
472デフォルトの名無しさん
垢版 |
2021/02/27(土) 00:21:54.45ID:vRM0KdjR
標準ライブラリなんて小さい方がええやん。HTML5のCanvas APIみたいのならgithubに腐る程ある
github.com/fogleman/gg
2021/03/01(月) 04:10:54.66ID:TpLFIcMN
Goに期待しすぎだろ
2021/03/01(月) 05:09:43.67ID:slICkU79
まあ、イケイケGoGoジャーンプ!って言葉もあるくらいやし…
2021/03/01(月) 18:31:47.86ID:yHt6Qgj2
姫ちゃん…
2021/03/01(月) 20:51:58.46ID:Uq9hcXch
https://i.imgur.com/2zyfBy2.jpg
goで思い出すのはこれだった
2021/03/03(水) 00:18:59.60ID:p9OW2PxW
golang.jpドメイン譲渡したのね
2021/03/03(水) 22:42:43.62ID:jgL4cdff
本当だ。いまのところ微妙そう
2021/03/04(木) 00:12:11.42ID:zOLUDfBP
bloggerってまじかよ
2021/03/05(金) 23:37:39.02ID:NrMSs+Xp
16がでてしばらくたつけど、何か問題があった人いる?

無かったら入れようとか姑息
2021/03/06(土) 00:21:56.60ID:fsuLBHjt
当初から分かってたがPlan9同様、実用言語ではなく
他の言語のリファレンスとしての研究用言語になったな
2021/03/06(土) 00:38:15.94ID:KM3KYugu
実用してるが…?
2021/03/06(土) 00:40:14.00ID:d8HwcXCo
もともとグーグルの社内言語だったと聞くが
本家では今も活用されているのかね
484デフォルトの名無しさん
垢版 |
2021/03/06(土) 00:45:32.22ID:KIij34oc
Plan9を実用してる物好きもいるわけだし
2021/03/06(土) 01:20:00.90ID:W4toJ95e
モンストの通知サービスの一部でも、他の言語とのトライアルの結果で採用したとのインタビュー記事が、つい先日あったし(日経XTECH)
2021/03/06(土) 01:21:35.92ID:W4toJ95e
学習が簡単というのがデカかったらしい
分かってるな
2021/03/27(土) 12:51:18.06ID:odHdDNPL
CodeZine(コードジン): 2020年のGo言語利用状況が明らかに、9648名の開発者が回答.
https://codezine.jp/article/detail/13819

正直、手前味噌過ぎて萎える
無作為アンケートならともかくなぁ
2021/04/24(土) 03:38:06.28ID:ifUTO7D9
echoでAPIのパラメータの初期値を設定する方法って
ぐぐると構造体作ってコンストラクタで設定しよう!とか出てくるんだけど
なんかすごく面倒な上記述場所が離れててわかりにくい気がしてならないんだけど

例えばこんなのは悪手?
まあ悪手なんだろうけど

func getParam(p string, defaultValue interface{}) interface{} {
 switch defaultValue .(type) {
  case string:
   if p == "" {
    return defaultValue
   } else {
    return p
   }
  case int:
   ret, err := strconv.Atoi(p)
   if err != nil {
    return defaultValue
   }
   return ret
 }
 return nil
}


pageNo := getParam(c.Get("pageNo"), 1).(int)

一般的な方法ってあるのかね
2021/04/28(水) 00:42:58.14ID:1SQ+syPV
勢いないな
特に語ることがないんだろうけど寂しい
2021/04/28(水) 00:50:07.66ID:yDqZolk/
2こないとずっとこうだろな
2021/04/28(水) 20:28:06.34ID:4UCtxfw0
見上げて〜golang〜♪
2021/04/29(木) 01:22:39.54ID:466xktgC
ひさしぶりに書く機会があったが
やっぱクソだなこの言語
493デフォルトの名無しさん
垢版 |
2021/04/29(木) 13:27:14.24ID:VDhRy7EO
>>492
けっこう同意
2021/04/29(木) 17:19:19.73ID:Ir6i0rIh
肝心のグーグルに普及させる気がないように思う
メンテナンスが別組織に移ったにしてもさ
495デフォルトの名無しさん
垢版 |
2021/04/29(木) 20:46:39.37ID:CJL0HvU9
ファンクション実行環境が使い放題のところでは有用かもしれないけど、それ以外だとあまりいいことがない
2021/04/29(木) 22:07:05.66ID:WSQEbpw8
ジェネリクス入ればまた話題になるさ
それ以外では大きな機能追加はなさそうだし
話すことはゼロ
497デフォルトの名無しさん
垢版 |
2021/05/03(月) 07:41:43.88ID:Yuy7LADv
>>496
これまた同意
498デフォルトの名無しさん
垢版 |
2021/05/03(月) 10:42:59.25ID:O7+GYvY4
Ubuntuに最新のfzfを入れるために成り行きでgoも入れてビルドに使ってるんだけど、使い勝手どう?
499デフォルトの名無しさん
垢版 |
2021/05/10(月) 23:35:35.91ID:FH4+0Y9S
全体的な満足度は高く、回答者の92%がGoを使用して満足しています
500デフォルトの名無しさん
垢版 |
2021/05/12(水) 12:17:45.17ID:/qsSpkSD
公式の正規表現パッケージだと機能が足りないんで高機能版を探してるんだけど
例えばgolang pcreで検索すると玉石混交っぽいのがたくさんヒットします。定番はどれですか?
2021/05/12(水) 12:48:25.99ID:heOXda5C
ないよ
基本的に標準で妥協するのがgoの流儀
2021/05/12(水) 13:26:25.47ID:4BNP4E9q
Golint is deprecated and frozen.
https://github.com/golang/lint
2021/05/12(水) 14:21:32.78ID:V3rxtHou
golintなんて使うな!ってのはかなり前から言われてなかったか?
そうか、とうとうというかやっと非推奨になったか
2021/05/12(水) 15:46:19.35ID:cNdHMJPH
Golintよりあの独特のキモさのあるマスコットを frozen してくれ
2021/05/13(木) 06:49:06.23ID:i4261GGU
そういや、今は golangci-lint で gosample, unused, deadcode を disable して使ってるけど、皆は何を使ってる?
2021/05/17(月) 09:13:26.08ID:kl1wKiv0
ごふぁー君、日本人が日本の感覚でリファインしたらどうなるだろうな
可愛くなるかな
2021/05/17(月) 09:37:57.05ID:Lk3ol8M7
美少女にされてポリコレで炎上して終了
2021/05/17(月) 10:27:08.28ID:tCPY+RXs
出目だけ直せばかなり可愛いと思うの
2021/05/17(月) 16:09:31.77ID:ki4Fszz7
もうある
2021/05/17(月) 21:21:05.60ID:gfx8XjK2
えー、めっちゃかわいいやん。
いろいろ並べたらかなり上位に食い込むはず
https://www.google.com/search?q=gopher+golang

ちなlisp
https://www.google.com/search?q=lisp+alien
2021/05/18(火) 07:51:53.47ID:KgfYT/kM
lispキモッ!!!!!
2021/05/18(火) 11:48:20.95ID:JTwnomFG
land of lisp知らん人って居るの?居るか、昔の本やもんね…
2021/05/18(火) 11:55:07.53ID:eZ1jimh0
lisp興味あったから買ったけど、興味なかったら買わないだろうし知らない人多そう。
あの本のコミック感好き
2021/05/18(火) 12:47:44.48ID:KgfYT/kM
lispみたいな妙ちくりんな言語好きなやつらって
かっこつけるのが好きなだけなやつのイメージ
2021/05/18(火) 13:43:10.70ID:eZ1jimh0
()なだけにか、うまい
2021/05/18(火) 15:18:58.11ID:rbHsLKwn
歴史的な意義は大きいよ
lispマシンみたいな非効率な物作るのも今では考えられんし
調べる分には面白い
2021/05/18(火) 17:50:33.31ID:K7AiWxDd
じゃ、gopherはキャワイイ、lisp alienはカッコいいって結論でいいよね?
2021/05/20(木) 20:04:23.04ID:eq1VjwUx
いいよ
2021/05/31(月) 19:04:04.05ID:4YxEhylU
月末日の今日timeのAddDateのキチンとした仕様理解したわ…
2021/06/01(火) 03:54:23.59ID:XPr1LW+9
A Tour of Goでわざと誤ったコード書いてRunするとエラーとか何も表示されないんだけどこれって俺環?
一応FirefoxとChromeで試した
2021/06/01(火) 05:07:07.58ID:uviIosIU
エラー行と、Go build failed が出てます
play ground のサーバが落ちてたとか?
2021/06/01(火) 07:39:06.98ID:AwIwdigt
大抵、拡張とかせい
523デフォルトの名無しさん
垢版 |
2021/06/05(土) 17:26:46.46ID:/GCBUkfd
GoにGenerics入るの喜ばれてるのを見るにD言語で良かったのではってなる・・・
524デフォルトの名無しさん
垢版 |
2021/06/08(火) 20:33:43.16ID:hv7oAT4j
GoLandっていうIDEすこ
これ使ったら他のIDEには移れねえわ
2021/06/08(火) 20:47:33.83ID:Yg8CMFGO
基本的にVSCode信者だけどVSCodeのGo拡張は糞すぎるんだよなあ
まあどうせ他の言語も日常的に使うからGoのためだけに移行するのはありえないんだが、さすがに糞すぎる
2021/06/08(火) 21:09:41.18ID:1LMznI/d
いうほどか?C++とかもあんなもんじゃん
2021/06/08(火) 21:19:41.74ID:TOKjPAZ1
VScodeがGo/HTML/JavaScript/Markdownと幅広いから、それだけで間に合っちゃうんだよな…
2021/06/08(火) 23:18:45.50ID:8Fr3CQSw
機能とかはともかく、ステータスバーをやたら占有するのは糞だな。
2021/06/09(水) 01:01:33.46ID:y3OB765l
ステータスバーを占有、、、?
2021/06/13(日) 22:15:56.68ID:lkM0NMIG
VagrantのRubyコードをGoでリライトする模様
2021/06/13(日) 23:00:16.90ID:exUpBE38
ほう。Vagrantfileはどうするのかな。今だとYAMLとかになりそうな悪寒。
2021/06/13(日) 23:12:30.98ID:Nkflk8c7
Vagrantとかまだ使ってる奴いるの?
Dockerでオワコンとか以前に、GoだとVMもコンテナもなしに生でも普通に動くようにポータブルに作るだろうし
2021/06/13(日) 23:25:59.99ID:exUpBE38
普通に、WindowsでVirtualBox使うならその環境構築にほぼセットだわ。
Goのアプリしか使わないわけでもないしな。
2021/06/13(日) 23:41:09.94ID:eXqVG9aT
WSLかDockerでよくね
2021/06/13(日) 23:43:18.70ID:WJQpzq26
>>530
まじ?!
2021/06/14(月) 03:57:38.10ID:WMzG+VdI
https://www.hashicorp.com/blog/toward-vagrant-3-0
これだね
rubyは徐々にコアから切り離してオプション化していく感じかな
2021/06/14(月) 04:16:45.90ID:SZpJFTNw
あらー
まあユーザーからしたらRuby入れるの面倒だったしな
2021/06/14(月) 07:44:36.39ID:6p9bp5Dj
>>533
WSLで用が足りるならVirtualBox自体使う必要がないんだろうがな。
ただ、単にLinuxのソフトウェアが動けばいいんじゃなくてやっぱり仮想環境が必要な場面はあるし。
以前Ubuntuの複数バージョンを使い分けたりしたことがあるが、こういう用途にはまだ必要。
2021/06/14(月) 07:45:52.08ID:6p9bp5Dj
リンク間違えた。>>538>>534ね。
2021/06/14(月) 11:59:12.37ID:DpCafs9R
goのcoroutineはgoroutineていうのに
goのcontextはgontextていわないのはなぜ?
2021/06/14(月) 12:04:15.12ID:ei9nXL3B
goroutineはGo言語のルーチンじゃなくて予約語goで作られるroutineだからじゃね?
2021/06/14(月) 12:23:24.79ID:6p9bp5Dj
そもそも goroutine は coroutine じゃなくて thread だから。
2021/07/02(金) 14:46:02.08ID:LpLK6KDw
https://twitter.com/alexanderdanilo/status/1410521878855176194

Rob Pikeが引退ってマジか
https://twitter.com/5chan_nel (5ch newer account)
2021/08/01(日) 03:30:57.24ID:8X1C7Oi5
Goもようわからん方向に進んでますな
インフラ用言語と割り切ればええんかな
545デフォルトの名無しさん
垢版 |
2021/08/12(木) 01:08:37.12ID:b4UG5w9l
goで問題解くサイトみたいなのありますか?
2021/08/12(木) 11:50:15.21ID:s+UN3BdM
今は、WSL2, Docker, VSCode(Remote Container, WSL2 ならRemote WSL)で十分。
Mac, vagarant, virtual box さえ不要

Ruby on Rails では、Heroku, Cloud 9, CircleCI などのクラウド開発

ローカル開発なら、Dockerを使うのが簡単だが、
日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv も使える。
asdf でも、多言語の好みのバージョンを入れられる

echo -e "$RBENV_ROOT\n$NODENV_ROOT"
/home/ユーザー名/.anyenv/envs/rbenv
/home/ユーザー名/.anyenv/envs/nodenv

任意のLinuxディストリビューションをWSL2で動かす Clear Linux OSを動かすまで、2021/4
https://impsbl.hatena@blog.jp/entry/ClearLinuxOnWSL2

注意。アク禁にならないように、URL 内に、@を入れました

Docker Hub からpull したイメージを、tar へexport して、
それをWSLで、D ドライブへimport する

docker export
wsl --import

WSLでカスタマイズしたものを、さらにexport しておく。
wsl --export
547デフォルトの名無しさん
垢版 |
2021/08/14(土) 18:30:15.43ID:1pPVCqqe
ジェネリクスは入った?
2021/08/17(火) 12:12:44.83ID:uiypcFr0
Go 1.17 is released!
https://twitter.com/golang/status/1427378613289164810
https://twitter.com/5chan_nel (5ch newer account)
549デフォルトの名無しさん
垢版 |
2021/08/17(火) 17:56:17.55ID:OnI2KERu
>>541
goroutineって
オプションで複数のCPUコアに分散も出来るけど
実際はほぼ軽量スレッドじゃん?
コルーチンみたいなものじゃないの?

プログラムの書き方がスレッド使ったプログラムっぽかったら、
Goみたいに実装が極力OSスレッドに頼らないものになっててもスレッド(グリーンスレッド)?
2021/08/17(火) 21:51:06.20ID:082KifEP
goroutineはstackful coroutine
551デフォルトの名無しさん
垢版 |
2021/08/21(土) 18:09:12.95ID:7GAoG1Iq
Rustのメモリ安全性はボローチェッカーによって担保されている

Nimバージョン:1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しでView types参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、Cのソースコードを吐き出せるので割り振られた仕事が早く終わっ
ても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
2021/08/21(土) 18:16:54.48ID:O7+p4qIy
Rubyガイジに続いてNimガイジの登場?
553デフォルトの名無しさん
垢版 |
2021/08/22(日) 12:20:27.60ID:0Cz6ueFz
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html

第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
2021/09/09(木) 23:03:13.52ID:uQCXRnBV
>>545
ttp://rosettacode.org/wiki/Category:Go
555デフォルトの名無しさん
垢版 |
2021/09/15(水) 01:01:00.82ID:e45L6iVT
9月TIOBEプログラミング言語ランキング
https://news.mynavi.jp/article/20210913-1971335/
556デフォルトの名無しさん
垢版 |
2021/09/18(土) 17:33:40.58ID:kYto5Bfg
Go言語を嫌う6個の理由
https://www.kbaba1001.com/entry/2021/09/17/073149
2021/09/18(土) 18:19:07.86ID:ED687M4K
まー、概ね間違ってもいないかな?
でもmapなどがループより優れてるっーのは感想にしか過ぎなくないか?
2021/09/18(土) 19:44:16.34ID:1qFQH5Bo
優れているかどうかはともかくmapとかは便利だよ
Genericsが導入されたらめっちゃ使われるようになるっしょ
2021/09/18(土) 19:55:59.68ID:ED687M4K
短く分かりにくいコードが書けて便利
560デフォルトの名無しさん
垢版 |
2021/09/18(土) 20:04:43.61ID:VYLTl1id
総称によるイテレーションを伴うmap/reduceは他の言語みたいに単一スレッドの自己満足じゃなく
デフォルトで並列にして欲しいです。。。
2021/09/18(土) 20:15:55.61ID:9LlZohSd
map/reduceが使われる殆どのケースでは、入力の振り分けや結果のマージ、コンテキストスイッチ等のコストのため、並列化するとかえって遅くなるんだよ
562デフォルトの名無しさん
垢版 |
2021/09/18(土) 20:27:06.45ID:VYLTl1id
うっせーうっせーうっせーわ、あなた思うよりmap/reduceに並列度引数付ければいいだけです!
デフォルトで言うてる文章も読めないアホはgolangのM:Nモデルの高速スイッチが分かってない
2021/09/18(土) 20:33:23.01ID:9LlZohSd
だから「殆どのケースでは」って言ってるじゃん
デフォルトで並列なら確実に遅くなるよ
2021/09/18(土) 20:39:09.73ID:G1H8j0E2
駄々っ子には何を言ってもムダ
565デフォルトの名無しさん
垢版 |
2021/09/18(土) 21:09:31.39ID:IxZBx6u4
気持ち悪い単発ID援護
2021/09/18(土) 22:54:51.12ID:em3js4pK
その記事は肝心のポイントが一つ抜けておるな
goは何がクソといってまず名前がクソすぎる
40年50年前にできた言語じゃないんだからちゃんと後先考えて名前つけろや!
2021/09/19(日) 12:53:46.33ID:HwX1dH8g
goの最大の問題は検索のしづらさだろねえ

Goのヘイト記事は外国でもある(そりゃそうだ)

Why Golang Is Bad for Smart Programmers
https://raevskymichail.medium.com/why-golang-bad-for-smart-programmers-4535fce4210c


I want off Mr. Golang's Wild Ride
https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride


もっと強烈なのあったはずなんだけど見つかりませんでした
2021/09/19(日) 13:03:36.46ID:W3Ibxi5N
でも悪評も評判のうちなんで
WebAPIとして最適な並列処理性能を持つとはいえ、なんでそんなに注目されるのか
極論言えばWebAPI作るくらいしか能はないよね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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