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
127デフォルトの名無しさん
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を経験してるから、一週間でほぼ使えるようになった
202デフォルトの名無しさん
2020/01/16(木) 19:01:13.36ID:aiRikJgB 下手すると何も特に勉強しなくてもただ人の書いたコードながめるだけで
「ああこんな感じか?」って雰囲気だけでそれなりのコードかけるようになっちゃう言語
「ああこんな感じか?」って雰囲気だけでそれなりのコードかけるようになっちゃう言語
203デフォルトの名無しさん
2020/01/16(木) 21:24:12.96ID:u+AvDfAm goはシンタックスシュガー多めで、初学者が見よう見まねで学習すると嵌りやすい印象。
204デフォルトの名無しさん
2020/01/16(木) 21:59:12.79ID:TiSttWiL ほとんど使う局面がないstruct実体はでっかい落とし穴
実体配列rangeで回して更新されねーっと悩む初心者のいかに多いことか
実体配列rangeで回して更新されねーっと悩む初心者のいかに多いことか
205デフォルトの名無しさん
2020/01/16(木) 22:08:19.79ID:TiSttWiL 糖衣構文?なんかあったっけ?
206デフォルトの名無しさん
2020/01/16(木) 22:19:59.62ID:rwq+tT6g207デフォルトの名無しさん
2020/01/16(木) 22:45:35.06ID:TiSttWiL 落ちるなら、そちらのほうが万倍はマシでしょ
落ちなくて値が更新されないという恐怖
落ちなくて値が更新されないという恐怖
208デフォルトの名無しさん
2020/01/16(木) 23:37:40.70ID:v13qNblq 誰も staticcheck 使ってないのか……
209デフォルトの名無しさん
2020/01/18(土) 11:13:25.73ID:8BJKylNj golangのシンタックスシュガーは思いつく限りだと
1. := での型推論による変数宣言の代替
2. レシーバがポインタ型の場合に構造体実体でメソッドを呼び出すと、ポインタに変換して呼び出す
C言語からの後方互換性を意識するなら -> は廃止しなけりゃいいのに、中途半端
モダンな言語と同じにポインタを参照と呼び替えて、実体が欲しけりゃunsafeでやれと
1. := での型推論による変数宣言の代替
2. レシーバがポインタ型の場合に構造体実体でメソッドを呼び出すと、ポインタに変換して呼び出す
C言語からの後方互換性を意識するなら -> は廃止しなけりゃいいのに、中途半端
モダンな言語と同じにポインタを参照と呼び替えて、実体が欲しけりゃunsafeでやれと
210デフォルトの名無しさん
2020/01/18(土) 11:28:22.96ID:s9OHHI5s 学習時に2は一貫性なくて嫌だった
211デフォルトの名無しさん
2020/01/18(土) 11:30:13.71ID:8BJKylNj 3. {フィールド:値, ...} 形式の構造体生成式
・・・これは構文だしシンタックスシュガーなのか微妙
シンタックスシュガー多めという意見は、どういう観点で構文をシンタックスシュガーだと判断しているのか俺にはサッパリわからない
むしろラムダ式(本来の無名関数という意味ではなく -> で書く記法)というシンタックスシュガーすらないgolangはむしろシンタックスシュガー少なすぎ(でもそこがシビれ
・・・これは構文だしシンタックスシュガーなのか微妙
シンタックスシュガー多めという意見は、どういう観点で構文をシンタックスシュガーだと判断しているのか俺にはサッパリわからない
むしろラムダ式(本来の無名関数という意味ではなく -> で書く記法)というシンタックスシュガーすらないgolangはむしろシンタックスシュガー少なすぎ(でもそこがシビれ
212デフォルトの名無しさん
2020/01/18(土) 13:18:44.40ID:AhPxC9uw シンタックスシュガーといえば、&Hoge{ ... }で構造体を初期化しつつポインタを取れるのに、&1はダメなのがウザい
213デフォルトの名無しさん
2020/01/18(土) 13:46:22.20ID:4nVoSga0 シンタックスシュガーというか、なんか一貫性に欠ける略記法みたいなのが多いような
214デフォルトの名無しさん
2020/01/18(土) 14:10:48.57ID:8BJKylNj 多いような、と言われてもなぁ
略記法と言っても、_ とか [::2] とかしかぐらいしか思い浮かばないんで、具体的に
略記法と言っても、_ とか [::2] とかしかぐらいしか思い浮かばないんで、具体的に
215デフォルトの名無しさん
2020/01/18(土) 15:16:24.10ID:6ictA0Lc switch w := v.(type) はかなりエイリアン感あるな
Goに存在する数少ない型推論と言えるものの一つ
Goに存在する数少ない型推論と言えるものの一つ
216デフォルトの名無しさん
2020/01/19(日) 06:24:36.25ID:lyRWqXEG Dockerの本社いい所にあるね
現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発
https://www.youtube.com/watch?v=WkEWDXogjR8
https://duckduckgo.com/bang_lite.html
!yt giants homerun boat
現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発
https://www.youtube.com/watch?v=WkEWDXogjR8
https://duckduckgo.com/bang_lite.html
!yt giants homerun boat
217デフォルトの名無しさん
2020/01/19(日) 10:59:57.18ID:FsFcJUwr 一貫性に欠ける記述に思い至った
スライスとマップだけ生成すると実体ではなくてポインタを返す
やっぱり、構造体も生成するとポインタを返してほしかった
要らんよな実体
スライスとマップだけ生成すると実体ではなくてポインタを返す
やっぱり、構造体も生成するとポインタを返してほしかった
要らんよな実体
218デフォルトの名無しさん
2020/01/19(日) 11:18:53.24ID:FsFcJUwr 要らないというのはちょっと正確性に欠けてた
普通のロジックを書く場合には要らない
DLL呼び出しとか、バイナリファイル書き出しとか、外部I/Fとして任意のアラインメントでのバイト列に直列化するパッケージがあって、内部では全て参照と言う名のポインタを扱うようにしてくれていたら何も問題は無かった
構造体ポインタでスライス作って、構造体のアドレスを入れて、という書き方を説明するためには、アドレスについて教えなけりゃならない
それを理由として新人研修の言語教育の候補リストから落としたんだった
普通のロジックを書く場合には要らない
DLL呼び出しとか、バイナリファイル書き出しとか、外部I/Fとして任意のアラインメントでのバイト列に直列化するパッケージがあって、内部では全て参照と言う名のポインタを扱うようにしてくれていたら何も問題は無かった
構造体ポインタでスライス作って、構造体のアドレスを入れて、という書き方を説明するためには、アドレスについて教えなけりゃならない
それを理由として新人研修の言語教育の候補リストから落としたんだった
219デフォルトの名無しさん
2020/01/19(日) 18:45:36.29ID:E4qdczJe すべてポインタてJavaか
220デフォルトの名無しさん
2020/01/19(日) 21:41:47.53ID:K0reTlt5 構造体がポインタじゃないのなんでだろ
結局全部ポインタにしがち
イミュータブルな操作に値レシーバ使うことと整合させるため?
結局全部ポインタにしがち
イミュータブルな操作に値レシーバ使うことと整合させるため?
221デフォルトの名無しさん
2020/01/20(月) 00:17:10.01ID:4Ml4H1E5 ・構造体配列のアクセスがゲロ遅い
・GCに負担がかかる
・エスケープ解析が困難
・C/C++との相互運用時に>>218のような変換が必要になりクソ非効率だし実装も面倒
・nilを受け入れないことを保証できない
・GCに負担がかかる
・エスケープ解析が困難
・C/C++との相互運用時に>>218のような変換が必要になりクソ非効率だし実装も面倒
・nilを受け入れないことを保証できない
222デフォルトの名無しさん
2020/01/20(月) 10:38:34.77ID:Ta+b5biN CL 187317 for the current proof-of-concept implementation.
https://go-review.googlesource.com/c/go/+/187317
https://go-review.googlesource.com/c/go/+/187317
223デフォルトの名無しさん
2020/01/20(月) 11:55:50.46ID:eiih9B9I224デフォルトの名無しさん
2020/01/20(月) 13:14:26.10ID:0GX6odYx Cと同じものが欲しいならCを使ってれば良いんだよ
225デフォルトの名無しさん
2020/01/20(月) 14:06:44.63ID:OxRp59bR 正論
226デフォルトの名無しさん
2020/01/20(月) 15:43:03.96ID:lA6Ihl1+ GCが欲しかったんだよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 青銅聖闘士のパンチは音速←わかる 白銀聖闘士はその数倍←まぁわかる 黄金聖闘士は光速←は?
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- さわやかって
- 生活保護を受けている私だけど、おはようございます。
- 【朗報】ローソン「Мサイズのカップを購入してLサイズのコーヒーを入れてくださいね」 [455031798]
