Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。
公式ドキュメント
http://golang.org/doc/
日本語訳
http://golang.jp
※前スレ
Go language part 2
https://mevius.5ch.net/test/read.cgi/tech/1510395926/
Go language part 3
■ このスレッドは過去ログ倉庫に格納されています
2019/10/17(木) 21:38:04.78ID:wMsZ+t6y
102デフォルトの名無しさん
2019/11/23(土) 22:12:34.14ID:zPKhdy+L >>100
1.13 からデフォルトは on
1.13 からデフォルトは on
103デフォルトの名無しさん
2019/11/23(土) 22:13:50.79ID:5HHeTBXj シンプルなのはいいんだけど
golintでチェックされる命名規則が嫌すぎる
キャメルでgetJsonDataとかだったか関数定義したら"JSON"と大文字で書けとか怒られた
お前は姑か!
golintでチェックされる命名規則が嫌すぎる
キャメルでgetJsonDataとかだったか関数定義したら"JSON"と大文字で書けとか怒られた
お前は姑か!
104デフォルトの名無しさん
2019/11/23(土) 22:19:49.28ID:5HHeTBXj105デフォルトの名無しさん
2019/11/23(土) 22:22:02.56ID:5HHeTBXj106デフォルトの名無しさん
2019/11/23(土) 22:24:43.43ID:zPKhdy+L off にして modules 捨てたらいいんじゃないかな
107デフォルトの名無しさん
2019/11/23(土) 22:29:30.47ID:zPKhdy+L 後は import "hoge-project/internal/config" って書くとか
これなら go.mod を作ったり弄くらなくて済む
これなら go.mod を作ったり弄くらなくて済む
108デフォルトの名無しさん
2019/11/23(土) 22:40:38.71ID:5HHeTBXj109デフォルトの名無しさん
2019/11/25(月) 21:36:43.85ID:aLYZ9MFJ 初心者なんだがcontextの使い道がいまいちわからん。
cancelとかなんかいいサンプルないかな。
cancelとかなんかいいサンプルないかな。
110デフォルトの名無しさん
2019/11/25(月) 22:24:43.09ID:ELiIkdft >>109
パッケージドキュメントのExampleが、自分としては分かりやすかった
WithCancelしか使ってないけど
あと、go vet がバグっていて親contextのCancel関数があるのに
子供のCancel関数を_で捨てると怒られる
https://github.com/golang/go/issues/29587
暫定的な解決法は一旦変数に取ってから_に代入
パッケージドキュメントのExampleが、自分としては分かりやすかった
WithCancelしか使ってないけど
あと、go vet がバグっていて親contextのCancel関数があるのに
子供のCancel関数を_で捨てると怒られる
https://github.com/golang/go/issues/29587
暫定的な解決法は一旦変数に取ってから_に代入
111デフォルトの名無しさん
2019/11/25(月) 22:34:45.60ID:ELiIkdft >>109
使い方じゃなくて使い道かー
んー、goroutineをポコポコ作る場面で、処理をキャンセルしたい事ってあるけど、作り散らしたgoroutineに通知しないとキャンセルできない
そんなとき自前で仕掛けを作らなくてもcontextを使えばいい
あとは、そういった処理にタイムアウトを実装したい時にも、タイマーが組み込まれてるcontextがある
Valueは使ったこと無い
使い方じゃなくて使い道かー
んー、goroutineをポコポコ作る場面で、処理をキャンセルしたい事ってあるけど、作り散らしたgoroutineに通知しないとキャンセルできない
そんなとき自前で仕掛けを作らなくてもcontextを使えばいい
あとは、そういった処理にタイムアウトを実装したい時にも、タイマーが組み込まれてるcontextがある
Valueは使ったこと無い
112デフォルトの名無しさん
2019/11/25(月) 22:57:11.50ID:0VXwuJZP ありがちなのはsigintしたときにすぐにプログラムを止めずに子のゴルーチンの処理が一区切りついてから止める場合とかかな🤔
113デフォルトの名無しさん
2019/11/26(火) 02:26:32.95ID:RC9c8z2p 改訂2版 みんなのGo言語、2019/8/1
買ってきた。
これは、文法以外の開発に関する本
買ってきた。
これは、文法以外の開発に関する本
114デフォルトの名無しさん
2019/11/26(火) 07:37:44.38ID:wNKG8xXd >>112
んだね、自分はちゃんと後始末していることを保証するためにWaitGroupと組み合わせてる
んだね、自分はちゃんと後始末していることを保証するためにWaitGroupと組み合わせてる
115デフォルトの名無しさん
2019/11/26(火) 15:25:52.87ID:+MieSoC5116デフォルトの名無しさん
2019/11/26(火) 15:27:45.16ID:+MieSoC5117デフォルトの名無しさん
2019/11/26(火) 15:32:27.05ID:+MieSoC5 >>110
パッケージドキュメントだと、やはり基本的にループ待受なのね
なんかイメージ的に、その文脈から派生した処理を上手いことその派生分だけ切り上げる、みたいな感じだったけど、contextWithCancel使う=ループ処理がある、なのかな
パッケージドキュメントだと、やはり基本的にループ待受なのね
なんかイメージ的に、その文脈から派生した処理を上手いことその派生分だけ切り上げる、みたいな感じだったけど、contextWithCancel使う=ループ処理がある、なのかな
118デフォルトの名無しさん
2019/11/26(火) 18:34:43.56ID:8XlTLgEr119デフォルトの名無しさん
2019/11/26(火) 20:40:53.47ID:+MieSoC5 >>118
なるほど。参考になる。
channel読むの前提ってことは、やっぱり汚くなるよね。
selectで終了待受したいなら、中でさらにgoroutine生成してselectまで進めておく、しかないと
なんかこう、WithCancelで生成したcontext渡してcancelしたらなにも考えることなく終わってほしいなー。
なるほど。参考になる。
channel読むの前提ってことは、やっぱり汚くなるよね。
selectで終了待受したいなら、中でさらにgoroutine生成してselectまで進めておく、しかないと
なんかこう、WithCancelで生成したcontext渡してcancelしたらなにも考えることなく終わってほしいなー。
120デフォルトの名無しさん
2019/11/26(火) 21:33:38.25ID:+iLBHaU9 >>114
便乗して更に質問で申し訳ないが聞きたい。waitgroupって、個人的にはworkerの数が決まってるなら使うべき?
wg使わずにキャパシティ付きchannelに放り込む、クロージャでdefer closeしてその後channelをrangeで回す。というのもソースコードではよく見る。
ここら辺なにが正解なのかわからんのよね
便乗して更に質問で申し訳ないが聞きたい。waitgroupって、個人的にはworkerの数が決まってるなら使うべき?
wg使わずにキャパシティ付きchannelに放り込む、クロージャでdefer closeしてその後channelをrangeで回す。というのもソースコードではよく見る。
ここら辺なにが正解なのかわからんのよね
121デフォルトの名無しさん
2019/11/26(火) 22:53:16.65ID:wNKG8xXd >>120
workerの数が決まらないほど、使うべきなんじゃない?
要するに全部のgoroutineが終わったかどうか判断する仕組みだから
ちなみに自分はgoroutineを二段構えで呼んでて、WaitGroupは隠してる
https://github.com/XORveRCOM/util/blob/master/pkg/easywork/easywork.go
workerの数が決まらないほど、使うべきなんじゃない?
要するに全部のgoroutineが終わったかどうか判断する仕組みだから
ちなみに自分はgoroutineを二段構えで呼んでて、WaitGroupは隠してる
https://github.com/XORveRCOM/util/blob/master/pkg/easywork/easywork.go
122デフォルトの名無しさん
2019/11/26(火) 22:57:07.00ID:eptCat3v workerの数決まっていないでチャンネル使うとキャパシティ以上にワーカーできたとき詰まって死にそう🤔
123デフォルトの名無しさん
2019/11/26(火) 23:23:09.81ID:Gw3sx8bp >>121
回答とサンプルありがとう。
質問の日本語がおかしかった。。
なるほど、こうすればchannelで送受信しなくても逐次的に処理できるということか。
ちなみにworkerの数が決まらないケースって、どんな場面で遭遇する?
常駐してて死なないアプリ以外にあんまり思いつかず
回答とサンプルありがとう。
質問の日本語がおかしかった。。
なるほど、こうすればchannelで送受信しなくても逐次的に処理できるということか。
ちなみにworkerの数が決まらないケースって、どんな場面で遭遇する?
常駐してて死なないアプリ以外にあんまり思いつかず
124デフォルトの名無しさん
2019/11/26(火) 23:23:41.57ID:wNKG8xXd >>122
WaitGroupのソースを参照
WaitGroupのソースを参照
125デフォルトの名無しさん
2019/11/26(火) 23:29:52.93ID:Gw3sx8bp >>122
受信側は無限に待ち受ける想定だとどうかな?というか、waitgroupを使わないユースケースがそれぐらいしか思いつかないんだよね
waitgroupが有効なケース、だけどwaitgroupを使わないケースってどんなんがあるのかな。
受信側は無限に待ち受ける想定だとどうかな?というか、waitgroupを使わないユースケースがそれぐらいしか思いつかないんだよね
waitgroupが有効なケース、だけどwaitgroupを使わないケースってどんなんがあるのかな。
126デフォルトの名無しさん
2019/11/26(火) 23:36:45.35ID:wNKG8xXd127デフォルトの名無しさん
2019/11/26(火) 23:46:52.62ID:+iLBHaU9 >>126
そうか、パッと見ダウンロード処理を開始する時にwg.Add(len())すれば、とおもったけど、よく考えたら何をダウンロードするのかを取得する処理自体が並列化してる場合は、ソースみたいに自分でAdd(1)しないと並列化できないね。
とても勉強になった。ありがとう。
そうか、パッと見ダウンロード処理を開始する時にwg.Add(len())すれば、とおもったけど、よく考えたら何をダウンロードするのかを取得する処理自体が並列化してる場合は、ソースみたいに自分でAdd(1)しないと並列化できないね。
とても勉強になった。ありがとう。
128デフォルトの名無しさん
2019/11/26(火) 23:59:49.88ID:eptCat3v >>124
WaitGroupのソース見る限りAddされた数と待っている数を保持していてチャンネルを使っていないっぽいけど…
チャンネルを使うと詰まることあるけどWaitGroupならないんじゃないかな
https://golang.org/src/sync/waitgroup.go?s=574:929
WaitGroupのソース見る限りAddされた数と待っている数を保持していてチャンネルを使っていないっぽいけど…
チャンネルを使うと詰まることあるけどWaitGroupならないんじゃないかな
https://golang.org/src/sync/waitgroup.go?s=574:929
129113
2019/12/02(月) 22:40:03.04ID:H5nAExhM >>113
改訂2版 みんなのGo言語、2019/8/1
半分ぐらい読んだけど、これは、文法以外の開発に関する本で、
テスト・デザインパターンなど、
各言語の中級者向け「Effective 何々」に相当する本
改訂2版 みんなのGo言語、2019/8/1
半分ぐらい読んだけど、これは、文法以外の開発に関する本で、
テスト・デザインパターンなど、
各言語の中級者向け「Effective 何々」に相当する本
130デフォルトの名無しさん
2019/12/03(火) 08:47:37.15ID:+IyagjW2 effective goは無料で読めるけど全然似てない。適当こくでねぇ。
131デフォルトの名無しさん
2019/12/05(木) 11:52:28.33ID:a2pVpta0 シマンテックのSEPがgolintを誤検知してさくっと削除
132デフォルトの名無しさん
2019/12/06(金) 09:12:39.72ID:f1K6IxOi 誤検知じゃないかも
133デフォルトの名無しさん
2019/12/08(日) 01:05:14.90ID:XpO05MF4 ジェネリクスとnnbdは入ったの?
134デフォルトの名無しさん
2019/12/12(木) 01:16:12.28ID:8N8BhmJA135デフォルトの名無しさん
2019/12/14(土) 02:29:56.08ID:yWRsmPzk ジェネリックよりインターフェースのメソッド名をリファクタリングする機能が欲しい
それとファイル内に閉じたスコープの新設
それとファイル内に閉じたスコープの新設
136デフォルトの名無しさん
2019/12/14(土) 12:20:22.72ID:txh4qI7o サクッとwebサーバー建てる時お前らエコー使うだろ?
後輩がジン一択言って譲らんのよ
後輩がジン一択言って譲らんのよ
137デフォルトの名無しさん
2019/12/14(土) 12:25:23.49ID:yWRsmPzk ごめんnet/http一択
138デフォルトの名無しさん
2019/12/14(土) 18:57:44.23ID:SoAE2obC サクッと立てたい時にフレームワークは使わない
139デフォルトの名無しさん
2019/12/14(土) 21:25:16.45ID:yWRsmPzk140デフォルトの名無しさん
2019/12/14(土) 21:32:58.33ID:b2AnHSwF >>139
お、イイネ!
お、イイネ!
141デフォルトの名無しさん
2019/12/16(月) 01:49:06.93ID:tdYdVSGI go初心者です。
田中、佐藤、加藤からランダム(重複なし)で3つ抽出するにはどうすればいいでしょうか?
田中、佐藤、加藤からランダム(重複なし)で3つ抽出するにはどうすればいいでしょうか?
142デフォルトの名無しさん
2019/12/16(月) 01:56:43.58ID:oBdKFKCd 取り出す数が配列の大きさと同じならシャッフルすれば良さそう
https://golang.org/pkg/math/rand/#Shuffle
https://golang.org/pkg/math/rand/#Shuffle
143デフォルトの名無しさん
2019/12/16(月) 02:11:32.44ID:tdYdVSGI144デフォルトの名無しさん
2019/12/16(月) 02:29:03.91ID:oBdKFKCd >>143
重複なしならシャッフルして前から5個取れば良さそう
重複なしならシャッフルして前から5個取れば良さそう
145デフォルトの名無しさん
2019/12/16(月) 02:37:03.68ID:tdYdVSGI >>144
すみません、前から5個取るにはどうすればいいのでしょうか?
すみません、前から5個取るにはどうすればいいのでしょうか?
146デフォルトの名無しさん
2019/12/16(月) 02:44:37.15ID:F1oitXIE147デフォルトの名無しさん
2019/12/16(月) 02:50:18.86ID:tdYdVSGI148デフォルトの名無しさん
2019/12/16(月) 18:22:41.60ID:e0hK5sZz おんぶに抱っこやんけ
149デフォルトの名無しさん
2019/12/16(月) 20:24:54.73ID:4cesp02J interfaceをに包まれた2つ以上の変数が持つ型が一致してるか判定できる構文てある?
こういうのはできないみたいだし…
var x interface{} = int(12)
var y interface{} = int(25)
if (a, ok1), (b, ok2) := x.(int), y.(int); ok1 && ok2 {
fmt.Println(a, b)
}
こういうのはできないみたいだし…
var x interface{} = int(12)
var y interface{} = int(25)
if (a, ok1), (b, ok2) := x.(int), y.(int); ok1 && ok2 {
fmt.Println(a, b)
}
150デフォルトの名無しさん
2019/12/16(月) 20:25:53.67ID:4cesp02J リフレクション使えば判別出来るのは知ってる
151デフォルトの名無しさん
2019/12/16(月) 20:35:08.46ID:F1oitXIE まぁ、こんなんかなぁ…
if a, ok1 := x.(int); ok1 {
if b, ok2 := y.(int); ok2 {
fmt.Println(a, b)
}
}
if a, ok1 := x.(int); ok1 {
if b, ok2 := y.(int); ok2 {
fmt.Println(a, b)
}
}
152デフォルトの名無しさん
2019/12/16(月) 20:41:01.13ID:F1oitXIE reflection ならこうかな
import "reflect"
if reflect.ValueOf(x).Type() == reflect.ValueOf(y).Type() {
fmt.Println(x, y)
}
import "reflect"
if reflect.ValueOf(x).Type() == reflect.ValueOf(y).Type() {
fmt.Println(x, y)
}
153デフォルトの名無しさん
2019/12/16(月) 23:14:32.24ID:xtOX+BoM 型アサーション使っていいなら、型スイッチという手段も
154デフォルトの名無しさん
2019/12/18(水) 18:41:56.85ID:q6G7SevV golang関係ないんだが、50000番台ポートをlistenで開きまくるアプリ書いてるんだが、テスト実行毎にデバッグexeのパスが変わってWindowsDefenderがブロックしましたダイアログ出してきてウザいよぅ
うちはSEPなんでお呼びじゃないし、更にブロックされてると主張してるがテストコードはガンガン通ってるからブロックしてねーし
ともかく、デバッグexeの一時フォルダを固定する設定ってある?そうすりゃ例外設定書ける
うちはSEPなんでお呼びじゃないし、更にブロックされてると主張してるがテストコードはガンガン通ってるからブロックしてねーし
ともかく、デバッグexeの一時フォルダを固定する設定ってある?そうすりゃ例外設定書ける
155デフォルトの名無しさん
2019/12/19(木) 17:58:01.30ID:E0rD8pHx156デフォルトの名無しさん
2019/12/19(木) 18:04:48.44ID:E0rD8pHx157デフォルトの名無しさん
2019/12/21(土) 20:16:12.25ID:YQ48l2e3 ep8 ー ep7で雑に投げられた謎を雑に処理、端から解決する気無し。既存キャラの大幅劣化に加え、ローズ、紫バァ、暗号破りの新キャラ3人がヘイトの対象に(主にローズ)
ep9 ー ep8の出来事はほぼ無かったことに…。大味極まりないが逆にそれが功を奏し、SWファンからの評価は概ね高い。興収でエンドゲームを超えられるか注目
ep9 ー ep8の出来事はほぼ無かったことに…。大味極まりないが逆にそれが功を奏し、SWファンからの評価は概ね高い。興収でエンドゲームを超えられるか注目
158デフォルトの名無しさん
2019/12/21(土) 20:17:39.18ID:YQ48l2e3 ごめん、完全誤爆
159デフォルトの名無しさん
2019/12/26(木) 23:28:38.63ID:mrZiX212160デフォルトの名無しさん
2019/12/26(木) 23:57:38.99ID:oc05wxay >>159
知らんのでググって、最初にヒットした奴の方が良いな
具体的にはオプションはそれぞれ対象の構造体ポインタを受けとるシグネチャを持つ関数
そのメソッドのスライスを順に呼ぶと、関数が特定フィールドに値をセットするという作り
まず、その方式だと型switchがいらない
オプションを増やしたければセット用の関数を増やす
他の利点として、設定する関数では他のフィールドも参照できるから、矛盾のある設定を防ぐとか柔軟な設定もできそう
ぱっと見、visitパターンっぽいアイデアに見えた
(個人的な初見の感想なんで深く考えて言ってる訳じゃない
なんだっけ、二重呼び出し?
知らんのでググって、最初にヒットした奴の方が良いな
具体的にはオプションはそれぞれ対象の構造体ポインタを受けとるシグネチャを持つ関数
そのメソッドのスライスを順に呼ぶと、関数が特定フィールドに値をセットするという作り
まず、その方式だと型switchがいらない
オプションを増やしたければセット用の関数を増やす
他の利点として、設定する関数では他のフィールドも参照できるから、矛盾のある設定を防ぐとか柔軟な設定もできそう
ぱっと見、visitパターンっぽいアイデアに見えた
(個人的な初見の感想なんで深く考えて言ってる訳じゃない
なんだっけ、二重呼び出し?
161デフォルトの名無しさん
2019/12/26(木) 23:58:56.08ID:uIk/XshQ162デフォルトの名無しさん
2019/12/27(金) 00:43:24.50ID:3vrV+39v163デフォルトの名無しさん
2019/12/27(金) 18:28:35.28ID:Ppw19SXV ひさしぶりにGO触ったら仕様変更の真っ最中なのね...
暫く冬眠しとくわ
暫く冬眠しとくわ
164デフォルトの名無しさん
2019/12/27(金) 18:35:37.18ID:DR+ZCW3w いつでも仕様変更
ジェネリックス欲しがってる層って、何のクラスタの人なんだろ
ジェネリックス欲しがってる層って、何のクラスタの人なんだろ
165デフォルトの名無しさん
2019/12/27(金) 20:14:12.67ID:MjAsf7uH Java
166デフォルトの名無しさん
2019/12/27(金) 20:24:26.71ID:ttsY8Nqp Java 原人、生きていたのか
167デフォルトの名無しさん
2019/12/28(土) 00:46:09.91ID:zIP3TdeH ていうか Java のジェネリクスもおもくそ後付けやん
168デフォルトの名無しさん
2019/12/28(土) 13:38:22.34ID:bI9Nn/0L golangのゆるふわなinterface機構の上でジェネリックスの出番なんてそうそうあるものなのかな?
169デフォルトの名無しさん
2019/12/28(土) 13:43:53.42ID:c5TG1bir ちょっと凝ったことをしようとすると interface{} まみれになるところが改善できれば。
170デフォルトの名無しさん
2019/12/28(土) 13:46:40.71ID:FraGl0GS ジェネリクスはGo教において諸悪の根源とされる「利用しようとする前に利用される方を設計する行為」の最たるものだからなあ
171デフォルトの名無しさん
2019/12/28(土) 14:04:34.89ID:bI9Nn/0L 自分としてはgolangの形式で動的にリンクできるライブラリ手法が欲しいな
dllみたいなcgoなライブラリじゃなくgolangネイティブな形で
interface定義とインスタンスをロードするビルダだけ静的リンクするスタイルを想定
これがあるとDIとかプラグインが捗るから
知らないだけで存在してたりする?
それともdotnetのactivexみたいにdllに皮かぶせれば行けたりする?
dllみたいなcgoなライブラリじゃなくgolangネイティブな形で
interface定義とインスタンスをロードするビルダだけ静的リンクするスタイルを想定
これがあるとDIとかプラグインが捗るから
知らないだけで存在してたりする?
それともdotnetのactivexみたいにdllに皮かぶせれば行けたりする?
172デフォルトの名無しさん
2019/12/28(土) 15:05:05.51ID:R0mqAcCR ドラフトに挙がっている Go の generics(contract ベース)が採用されれば、
>>169
> ちょっと凝ったことをしようとすると interface{} まみれになるところが改善できれば。
inteface{} を使わなくてもよくなるんじゃないか、って期待してる。
まぁ、最終的にどうなるかは分からんけど…
>>169
> ちょっと凝ったことをしようとすると interface{} まみれになるところが改善できれば。
inteface{} を使わなくてもよくなるんじゃないか、って期待してる。
まぁ、最終的にどうなるかは分からんけど…
173デフォルトの名無しさん
2019/12/28(土) 18:09:17.61ID:euZyKjoi ジェネリクスは大体ライブラリとかそっちの方が実装してて普通は使うだけ
他の言語でジェネリクスないときはいちいち型キャストと型チェックしてたから
そういうのが無くなって嬉しかったんだけどなあ
他の言語でジェネリクスないときはいちいち型キャストと型チェックしてたから
そういうのが無くなって嬉しかったんだけどなあ
174デフォルトの名無しさん
2019/12/28(土) 18:18:35.27ID:7CupGRjm goでapiサーバーを構築したいんだけど、参考になるサイトとかないですか?
175デフォルトの名無しさん
2019/12/28(土) 18:23:32.21ID:euZyKjoi 本買え
176デフォルトの名無しさん
2019/12/28(土) 19:01:41.80ID:bI9Nn/0L 状態を変化させるAPIだと、API作るよりCORSとかCSRF周りの勉強がめんどくさい
177デフォルトの名無しさん
2019/12/29(日) 14:50:10.22ID:J2Lmqp1K WebAPIサーバーなんて、Qiitaとかそこらへんに転がってるような「GoでWeb APIを作ってみた」
程度の簡単なものが実際に本当にプロダクションで運用されてるもんだ。
ただしその前方や足元にはALBやらKubernetesやらがあって、信頼性やスケーラビリティはGoではなくそういったクラウドインフラの層で担保するんだよ。
Goをプロダクション運用したいなら、GoよりAWSの知識の方がずっと重要だ。
程度の簡単なものが実際に本当にプロダクションで運用されてるもんだ。
ただしその前方や足元にはALBやらKubernetesやらがあって、信頼性やスケーラビリティはGoではなくそういったクラウドインフラの層で担保するんだよ。
Goをプロダクション運用したいなら、GoよりAWSの知識の方がずっと重要だ。
178デフォルトの名無しさん
2019/12/29(日) 18:17:57.65ID:rmxnHa0h >>177
アホ
アホ
179デフォルトの名無しさん
2019/12/30(月) 09:38:05.31ID:QVGDKUrk 標準パッケージのjsonのUnmarshal
なんでReaderインターフェースでなくてバイト配列を引数にしたんだろ?
DecoderはSAXみたいなトークナイザだしなぁ
なんでReaderインターフェースでなくてバイト配列を引数にしたんだろ?
DecoderはSAXみたいなトークナイザだしなぁ
180デフォルトの名無しさん
2019/12/30(月) 09:50:44.52ID:QVGDKUrk181デフォルトの名無しさん
2019/12/30(月) 10:12:03.12ID:5236BLqU だったらQiitaのコピペ記事で十分だな
182デフォルトの名無しさん
2019/12/30(月) 13:50:14.69ID:vvSvem59 >>179
いやNewDecoder(r).Decodeでいいだろ
いやNewDecoder(r).Decodeでいいだろ
183デフォルトの名無しさん
2019/12/30(月) 14:37:33.59ID:QVGDKUrk184デフォルトの名無しさん
2019/12/30(月) 14:40:19.65ID:wDUvJCMS 一見落着
185デフォルトの名無しさん
2020/01/01(水) 23:38:38.47ID:N0k15467 goルーチンってプログラム終了前に全部終了させる必要ありますか?
186デフォルトの名無しさん
2020/01/02(木) 02:53:52.42ID:YsIrUWNq >>185
必要かと言えば、必要はない
goroutineが終わらなくてもプロセスは終わる
でも、goroutineのdeferルーチンは呼ばれない
https://play.golang.org/p/Tt1Hbxzbr8v
つまり後始末とかはされない
後始末したければ、
1. context使って終了を通知
2. WaitGroup使ってgoroutineの終了を待つ
必要かと言えば、必要はない
goroutineが終わらなくてもプロセスは終わる
でも、goroutineのdeferルーチンは呼ばれない
https://play.golang.org/p/Tt1Hbxzbr8v
つまり後始末とかはされない
後始末したければ、
1. context使って終了を通知
2. WaitGroup使ってgoroutineの終了を待つ
187デフォルトの名無しさん
2020/01/02(木) 04:32:00.19ID:DNldEsUw ありがとう
188デフォルトの名無しさん
2020/01/08(水) 00:07:12.80ID:xIk/A1LK golangはgoroutineでNAMESPACEを適切にコントロールする手段がないのでDockerコンテナを記述するには適していない、という記事を読んだんだけど
これって対策とかロードマップとか何か打ち出されてない?
これって対策とかロードマップとか何か打ち出されてない?
189デフォルトの名無しさん
2020/01/12(日) 02:20:29.72ID:/FVSphLE >>188
記事はどこ?
記事はどこ?
190デフォルトの名無しさん
2020/01/12(日) 02:36:05.34ID:K4o7W11h >>189
2017だから結構古い話
https://www.publickey1.jp/blog/17/rustdockerrailcarrust.html
OracleがDockerコンテナランタイムの実装言語としてgoじゃなくRUSTを採用した理由
んで、goroutine関係って改修ってされてる話って見たことなかったんで、これってどうなってるのと
2017だから結構古い話
https://www.publickey1.jp/blog/17/rustdockerrailcarrust.html
OracleがDockerコンテナランタイムの実装言語としてgoじゃなくRUSTを採用した理由
んで、goroutine関係って改修ってされてる話って見たことなかったんで、これってどうなってるのと
191デフォルトの名無しさん
2020/01/12(日) 10:07:33.12ID:EKUpo6h1 記事読んでみたけど、問題はnamespaceそのものじゃなくてnative threadへのアクセスじゃないのかな。
192デフォルトの名無しさん
2020/01/12(日) 10:35:25.29ID:F6k+/xNL 言語選択ネタは基本的に使いたいものを正当化するためのゴリ押しになりがちだから話半分に聞いておくのが正しい態度
193デフォルトの名無しさん
2020/01/12(日) 10:41:45.99ID:K4o7W11h 根本的な原因はそうなんだろうけど、クリアするハードルは名前空間なのかなと
まあ、自分はDockerコンテナ自身には今のところ手を出す気はないアプリ作者だけど、ちょっと気になっただけなんだ
元からgolangはデバイスドライバとかの低レベルのシステム開発は対象としてないように見える(主観)ことから、それと同様に不要な機能としてガン無視なのかな?
それならそれで文句がある訳じゃない
まあ、自分はDockerコンテナ自身には今のところ手を出す気はないアプリ作者だけど、ちょっと気になっただけなんだ
元からgolangはデバイスドライバとかの低レベルのシステム開発は対象としてないように見える(主観)ことから、それと同様に不要な機能としてガン無視なのかな?
それならそれで文句がある訳じゃない
194デフォルトの名無しさん
2020/01/12(日) 11:31:15.29ID:LxAQ0O23 いつぞやの「味見」の兄チャンか?
195デフォルトの名無しさん
2020/01/12(日) 11:45:59.65ID:K4o7W11h えーと、多分そう
ツール書くのにperl awkからjava c#経由して今はgolangが便利すぎて引っ越してきた
ツール書くのにperl awkからjava c#経由して今はgolangが便利すぎて引っ越してきた
196デフォルトの名無しさん
2020/01/12(日) 11:48:51.94ID:K4o7W11h 過去ログ見たら別の人
自分はmodulesが安定しねーっ、と嘆いていたクチ
自分はmodulesが安定しねーっ、と嘆いていたクチ
197デフォルトの名無しさん
2020/01/12(日) 12:49:08.86ID:1tVaWxzz おまえか!
198デフォルトの名無しさん
2020/01/13(月) 04:33:46.15ID:zAmpThch199デフォルトの名無しさん
2020/01/15(水) 23:33:03.13ID:HHNoDBvB プログラミング言語ごとの年収
https://pbs.twimg.com/media/EOSS8tqU4AAY75v.png
https://pbs.twimg.com/media/EOSS8tqU4AAY75v.png
200デフォルトの名無しさん
2020/01/15(水) 23:43:56.51ID:A/ClkkqP 今のところGoはAWSやGCPを極めた人が使うイメージだな
年収が高いのもそのためだろう
Goはドカタグラミングにも最適だから、もし今後も順調に普及していけば平均年収は大幅に下がりそう
年収が高いのもそのためだろう
Goはドカタグラミングにも最適だから、もし今後も順調に普及していけば平均年収は大幅に下がりそう
201デフォルトの名無しさん
2020/01/16(木) 08:41:54.42ID:FflLw5gy 覚えなきゃならない独特で特殊なことがインターフェースの概念くらいで、構文は平凡以下の厳選されたものしかないから学習ハードル低いよな
自分はc言語とJavaとJavaScriptを経験してるから、一週間でほぼ使えるようになった
自分はc言語とJavaとJavaScriptを経験してるから、一週間でほぼ使えるようになった
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 自閉症が「んなっしょい」と連呼するお🏡
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- じゃあ何故俺がここまで独身チーズ男性を嫌っているか理由が分かる?
- クマの救急医「ヘルメット被れ」 [787212328]
- am͜a͉zon でポチった
- 毒親「働かないでいつもゴロゴロして!」俺「…」毒親「あっ近隣に熊が出たって!」俺「ふぅ」毒親「どこ行くんだ」
