Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。
公式ドキュメント
http://golang.org/doc/
日本語訳
http://golang.jp
※前スレ
Go language part 1
http://mevius.5ch.net/test/read.cgi/tech/1381374291/
探検
Go language part 2
■ このスレッドは過去ログ倉庫に格納されています
1あ
2017/11/11(土) 19:25:26.19ID:X8lWnCzG462デフォルトの名無しさん
2018/10/05(金) 08:42:24.17ID:5/1Sw7bf >>461
俺もこれと思った
俺もこれと思った
463デフォルトの名無しさん
2018/10/05(金) 12:19:17.56ID:KOPtFpiE もちろんformatのことだし、formatと読んでなんの問題もないけど、
英語で話していると>>458で読む人多いよ
主因はrob pikeがそう発音したからだと思う
Gophercon 2014のキーノート
https://www.youtube.com/watch?v=aRkx_rKgnxo
の15:30あたりから
Mat Ryerという人がGo Programming Blueprint, 1ed, 2edで
このネタを紹介してる
英語で話していると>>458で読む人多いよ
主因はrob pikeがそう発音したからだと思う
Gophercon 2014のキーノート
https://www.youtube.com/watch?v=aRkx_rKgnxo
の15:30あたりから
Mat Ryerという人がGo Programming Blueprint, 1ed, 2edで
このネタを紹介してる
464デフォルトの名無しさん
2018/10/05(金) 15:28:00.27ID:v3DBsoPa フムトゥだとなんか英領東インド会社っぽく感じる
465デフォルトの名無しさん
2018/10/09(火) 23:43:11.15ID:HfhHB2c6 depとvgoって競合するものですか?
466デフォルトの名無しさん
2018/10/15(月) 14:36:01.09ID:n1QL6lOK Goでenum→arrayがしたいのだけれど、そんな機能はないと……?
これみんなどうしてるの?
これみんなどうしてるの?
467デフォルトの名無しさん
2018/10/15(月) 14:49:29.46ID:JfIbVv2P 最初からArrayにしとけば良いのでは
468デフォルトの名無しさん
2018/10/15(月) 14:50:49.56ID:nwW7Ja/L それをしたくなったことがないのでわからん
469デフォルトの名無しさん
2018/10/15(月) 17:05:22.55ID:4294obPP 何のためにそんなことがしたいのか聞いてみたい
470デフォルトの名無しさん
2018/10/15(月) 17:50:29.55ID:/DZZgAIK 無いのなら啼くまで待とうホトトギス
471デフォルトの名無しさん
2018/10/15(月) 19:33:05.94ID:1bhNtDQL MAXだかENDMKだかでcみたく配列作りたいんやろ?
気持ちは分かる
気持ちは分かる
472デフォルトの名無しさん
2018/10/15(月) 20:31:28.61ID:+SmjId0F 例えば入力値に対するバリデーションで、enum(という言い方が適正かどうかは別として)が取り得る値のリストが欲しいとかそのへんかな
473デフォルトの名無しさん
2018/10/15(月) 22:15:42.32ID:W85oIRuM structに突っ込んでreflectでゴニョゴニョすれば出来るかもしれん constではなくなるが
474デフォルトの名無しさん
2018/10/15(月) 22:51:32.09ID:TueN+jI8 そんな処理が必要なシステムでGoを使ったらいかん
475デフォルトの名無しさん
2018/10/21(日) 18:42:18.40ID:he/Iqeah 久しぶりにgo触ったので記憶が不確かなところありますが
main.goのみが置かれたディレクトリでgo buildしたらgo.exeが生成されたのですが以前はmain.exeが生成されてたよう思うのですが仕様が変わったのでしょうか?(流石にgo.exe生成は有害すぎる気がするのですが)
main.goのみが置かれたディレクトリでgo buildしたらgo.exeが生成されたのですが以前はmain.exeが生成されてたよう思うのですが仕様が変わったのでしょうか?(流石にgo.exe生成は有害すぎる気がするのですが)
477名無しさん@そうだ選挙に行こう! Go to vote!
2018/10/22(月) 10:17:22.41ID:H1W4+XYR うむ
478名無しさん@そうだ選挙に行こう! Go to vote!
2018/10/22(月) 10:18:03.69ID:uugU0jx6 hiromi.go
479デフォルトの名無しさん
2018/10/22(月) 12:18:12.11ID:+C6qgaWB man.go
480デフォルトの名無しさん
2018/10/23(火) 07:41:47.58ID:E9noX6pW pokemon.go
481デフォルトの名無しさん
2018/10/23(火) 09:56:18.11ID:3TiX0PAR mach.go
482デフォルトの名無しさん
2018/10/23(火) 11:25:23.47ID:3TiX0PAR ashitano.go
483デフォルトの名無しさん
2018/10/23(火) 12:04:12.12ID:lf/FfPKG mahha.go
484デフォルトの名無しさん
2018/10/23(火) 12:53:09.48ID:Jrfqrx8f nihon.go
485デフォルトの名無しさん
2018/10/23(火) 16:19:55.91ID:QKeMCnCN morita.go
486デフォルトの名無しさん
2018/10/23(火) 17:01:47.56ID:yFsvvFWj a.go
487デフォルトの名無しさん
2018/10/23(火) 17:44:50.89ID:Jrfqrx8f rin.go
488デフォルトの名無しさん
2018/10/23(火) 19:25:25.14ID:3TiX0PAR tanoshin.go
489デフォルトの名無しさん
2018/10/24(水) 09:22:45.73ID:GqaO1IV3 ami.go
490デフォルトの名無しさん
2018/10/24(水) 13:05:53.10ID:XOgiiIOy ready.go
491デフォルトの名無しさん
2018/11/11(日) 01:33:16.91ID:1ROtIrLE denshade.go
492デフォルトの名無しさん
2018/11/11(日) 11:12:19.66ID:0hdhWvq5 you.go.to.die
493デフォルトの名無しさん
2018/11/11(日) 13:16:05.57ID:96wp+TZd go to the hell
494デフォルトの名無しさん
2018/11/11(日) 22:48:24.72ID:eWAs+xoo gagiguge.go
495デフォルトの名無しさん
2018/11/13(火) 14:21:24.80ID:90McxFB4 gohanhaokazu
496デフォルトの名無しさん
2018/11/13(火) 22:42:30.34ID:S6/VoFfY なんだこのクソみたいなレスは
497デフォルトの名無しさん
2018/11/14(水) 01:38:41.27ID:UqaX63E/ runeってなに?
ルーンってw
ルーンってw
498デフォルトの名無しさん
2018/11/25(日) 13:39:20.67ID:Iuo0rdyT レリゴー レリゴー
499デフォルトの名無しさん
2018/11/29(木) 07:38:52.96ID:+x/PXpJm マスコットキャラ言語としてはDやLispに劣る
500デフォルトの名無しさん
2018/11/29(木) 07:47:15.41ID:Q3EZ/vX5 文法難しすぎて挫折した
ポインタもあるし
やっぱりグーグルはダメだな
ポインタもあるし
やっぱりグーグルはダメだな
501デフォルトの名無しさん
2018/11/29(木) 10:49:40.66ID:IS/HYKPI 釣られないぞ!
502デフォルトの名無しさん
2018/11/29(木) 22:50:59.81ID:anCZlMXk >>499
あ?うちのGopher人形に謝れよ
あ?うちのGopher人形に謝れよ
503デフォルトの名無しさん
2018/12/01(土) 13:44:14.89ID:mW7z3f7A go触ってみたんだが、なにGOPATHって?
前世紀からの業を背負っているpythonでさえ最近はvenvとかが普通なのに。
前世紀からの業を背負っているpythonでさえ最近はvenvとかが普通なのに。
504デフォルトの名無しさん
2018/12/01(土) 16:36:04.83ID:7CoKqMj5 vendoring 使えばいいんじゃない
505デフォルトの名無しさん
2018/12/01(土) 17:55:29.88ID:mW7z3f7A 結局それってプロジェクト毎にGOPATH設定する前提じゃない?
まあ手間としてはpython venvのactivateと変わらんのだろうけど。
まあ手間としてはpython venvのactivateと変わらんのだろうけど。
506デフォルトの名無しさん
2018/12/02(日) 02:20:50.42ID:IMPqy/pT go1.11以降であればgo modでvendoringともGOPATHともおさらばよ。デフォは設定してないとダメだけど
507デフォルトの名無しさん
2018/12/02(日) 09:46:26.04ID:3j0ioh6B おおこれはうれしい。
ただ、go mod vendorしたのにvendorだけじゃなくて$GOPATH/pkgにも展開されてしまうのは
そういうもんなのかな。あえてvenrorを使う必要もなさそうだからいいけど。
ただ、go mod vendorしたのにvendorだけじゃなくて$GOPATH/pkgにも展開されてしまうのは
そういうもんなのかな。あえてvenrorを使う必要もなさそうだからいいけど。
508デフォルトの名無しさん
2018/12/05(水) 21:51:50.63ID:JZNccl8o goでwebサービス作ろうかと思ってるんだけどginとbeegoならどっちがおすすめかな?
ネットの情報だとginの方が優勢っぽいんだけどこれはgoが規模大き目のweb開発に向かないわけではないよね?
ネットの情報だとginの方が優勢っぽいんだけどこれはgoが規模大き目のweb開発に向かないわけではないよね?
509デフォルトの名無しさん
2018/12/05(水) 22:28:05.87ID:jBwzw813 goでの大規模開発は複数のマイクロサービスで成り立ってるのが主流だから、単体だと機能少なくていいんだよ
510デフォルトの名無しさん
2018/12/05(水) 22:47:27.41ID:Tw4sJLmA >>509
それは分かるんだけどフルスタックなFWでモノシリックなサービス作るのにjavaより劣る点があるのかな?開発者数以外で。
今は過渡期でマイクロサービスやってるような敏感企業が先行してgo導入してる(gin流行る)→数年後、技術者が増えてjavaのポジションにgoが座る(フルスタックFWも流行る)。
なんて事を妄想してるんだけど、実際にgo使ってる人からするとこの妄想は無理がある?
それは分かるんだけどフルスタックなFWでモノシリックなサービス作るのにjavaより劣る点があるのかな?開発者数以外で。
今は過渡期でマイクロサービスやってるような敏感企業が先行してgo導入してる(gin流行る)→数年後、技術者が増えてjavaのポジションにgoが座る(フルスタックFWも流行る)。
なんて事を妄想してるんだけど、実際にgo使ってる人からするとこの妄想は無理がある?
511デフォルトの名無しさん
2018/12/05(水) 22:48:21.77ID:ifntcr/4 Googleが小中規模だと思うならどうぞ。
GoはGoogleの要望から生まれたも同じだから。
GoはGoogleの要望から生まれたも同じだから。
512デフォルトの名無しさん
2018/12/06(木) 07:33:16.31ID:nB3YQ+Se513デフォルトの名無しさん
2018/12/07(金) 22:03:57.51ID:P2Ikx1PI モノシリック → 物知り
モノリシック → モノリス
モノリシック → モノリス
515デフォルトの名無しさん
2018/12/09(日) 01:08:36.56ID:CZx3lRPr goルーチンやチャンネルがそこまでスケールするものかね。
10000くらいがいいとこじゃないの?
10000くらいがいいとこじゃないの?
516デフォルトの名無しさん
2018/12/09(日) 15:42:26.13ID:LCYDMKL+ vscodeのgoプラグインで、ファイル保存時にフォーマッタかけるのを止める設定ってどこだ?
importだけ書いたところで思わず保存してしまって消えちゃうことが多くてもう嫌だ。
importだけ書いたところで思わず保存してしまって消えちゃうことが多くてもう嫌だ。
517デフォルトの名無しさん
2018/12/09(日) 15:53:41.51ID:zU2R5s/p518デフォルトの名無しさん
2018/12/09(日) 15:58:05.31ID:LCYDMKL+ ありがとう。
"go.*"だけ一所懸命探してたw
"go.*"だけ一所懸命探してたw
519デフォルトの名無しさん
2018/12/10(月) 06:50:27.70ID:Xh3YMKwQ >>515
どんなシステム化によるけどサーバー1台で同時10000さばけたらなかなか優秀じゃね
どんなシステム化によるけどサーバー1台で同時10000さばけたらなかなか優秀じゃね
520デフォルトの名無しさん
2018/12/12(水) 23:12:50.88ID:gtX9QmaU 他の言語に当たり前のようにある機能がGoにはないよな
521デフォルトの名無しさん
2018/12/13(木) 00:07:37.71ID:xvN/Hn0b // ̄~`i?ゝ ? ? ?`l?|
?/?/ ?,______ ,_____ ________ ?|?| ____ TM
| | ? ?___ // ̄ヽヽ // ̄ヽヽ (( ̄))? ?|?| // ̄_>>
\ヽ、 ?|l |?| ? ?|?| |?| ? ?|?| ``(?(. .|?| |?|?~~
? ?`、二===-' ?`?==='?' `?==='?' ?// ̄ヽヽ |__ゝ?ヽ二=''
? ?ヽヽ___// 日本
_____ _____ ?______? _______
| ?ウェブ? | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
?._________________
|GoLang導入事例 │・検索オプション
└────────────────┘・表示設定
? |?Google検索 | I'm?Feeling?Lucky | ・言語ツール
? ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
○ウェブ全体から検索?◎日本語のページを検索
広告掲載について?-?人材募集?-?Googleについて?-?Google?in?English
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ? ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄
c2003?Google?-?0,000,000,000ウェブページから検索
↓
検索結果なし
?/?/ ?,______ ,_____ ________ ?|?| ____ TM
| | ? ?___ // ̄ヽヽ // ̄ヽヽ (( ̄))? ?|?| // ̄_>>
\ヽ、 ?|l |?| ? ?|?| |?| ? ?|?| ``(?(. .|?| |?|?~~
? ?`、二===-' ?`?==='?' `?==='?' ?// ̄ヽヽ |__ゝ?ヽ二=''
? ?ヽヽ___// 日本
_____ _____ ?______? _______
| ?ウェブ? | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
?._________________
|GoLang導入事例 │・検索オプション
└────────────────┘・表示設定
? |?Google検索 | I'm?Feeling?Lucky | ・言語ツール
? ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
○ウェブ全体から検索?◎日本語のページを検索
広告掲載について?-?人材募集?-?Googleについて?-?Google?in?English
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ? ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄
c2003?Google?-?0,000,000,000ウェブページから検索
↓
検索結果なし
522デフォルトの名無しさん
2018/12/13(木) 07:32:40.75ID:UrFBHsrb >>520
そりゃそういうコンセプトで作られたものだし
そりゃそういうコンセプトで作られたものだし
523デフォルトの名無しさん
2018/12/13(木) 11:39:49.53ID:zFPTCGev RISCに命令が足りないとか言ってるような話
524デフォルトの名無しさん
2018/12/13(木) 12:15:22.45ID:4w3MESCG それはちがう
525デフォルトの名無しさん
2018/12/13(木) 12:31:54.00ID:db+khmMs )ソ)
ッλ ノ(.,ノ)
(゙- ..::.::. . (
(ソ. .彡⌒ミ. )ソ)
).::'; (´・ω・`) ス (
ソ .::;';'(つ ⊂)::;';'`〜、.
( :;';' |__∧_| ::;';' ヽ)
`'~`'''`'`'`~'~~`~~'`'`''''"`'`'`''`''''"`'``'~`''`'~`'''`'`'`~
さ あ 禿 げ 上 が っ て ま い り ま し た
ッλ ノ(.,ノ)
(゙- ..::.::. . (
(ソ. .彡⌒ミ. )ソ)
).::'; (´・ω・`) ス (
ソ .::;';'(つ ⊂)::;';'`〜、.
( :;';' |__∧_| ::;';' ヽ)
`'~`'''`'`'`~'~~`~~'`'`''''"`'`'`''`''''"`'``'~`''`'~`'''`'`'`~
さ あ 禿 げ 上 が っ て ま い り ま し た
526デフォルトの名無しさん
2018/12/13(木) 21:58:52.57ID:l7PW6RcB 先走る禿さんw
527508
2018/12/16(日) 13:07:38.14ID:lr6W4jOY gin(gorm)とbeego(beego/orm)を味見(CRUD API+ちょっとした検索)してみた。
beegoの方が「どういうAPIが定義されているか」が分りやすくていいような気がした。
他は違いが分からなかった。
なのでbeego使っていこうと思うんだけど、そのうち困ることって出て来るのかな?
パフォーマンスとかtransactionとか思いもよらない何かとか。。
beegoの方が「どういうAPIが定義されているか」が分りやすくていいような気がした。
他は違いが分からなかった。
なのでbeego使っていこうと思うんだけど、そのうち困ることって出て来るのかな?
パフォーマンスとかtransactionとか思いもよらない何かとか。。
528デフォルトの名無しさん
2018/12/17(月) 20:45:42.97ID:INmLEJD1 goってenumないの不便じゃない?慣れたらそうでもないんかな
529デフォルトの名無しさん
2018/12/17(月) 22:34:34.09ID:S5HZ13Hv グーグルの天才たちがenumは要らないと判断したんだから要らないってことだよ
何も迷うことはない
何も迷うことはない
530デフォルトの名無しさん
2018/12/17(月) 23:47:10.78ID:58RTAoso まさかと思いますが iota も知らずに言っているわけないですよね。
Java の enum class がないのは不便じゃないかというなら分かるけど、
enum がないのは不便と言われても const + iota + type でいいじゃんと思った。
Java の enum class がないのは不便じゃないかというなら分かるけど、
enum がないのは不便と言われても const + iota + type でいいじゃんと思った。
531デフォルトの名無しさん
2018/12/18(火) 00:25:18.02ID:ZzPYxGgC 例外機構がないの不便じゃね
532デフォルトの名無しさん
2018/12/18(火) 01:28:03.40ID:khMi1iGR ジェネリックないのは不便じゃね
533デフォルトの名無しさん
2018/12/18(火) 08:13:21.99ID:9NtPu5c1 例外は不便じゃないが、ジェネリクスは確かに欲しいっちゃ欲しいけど、無くてもなんとかしてた、かなぁ。
Go 2のジェネリクスは早く来て欲しい。
Go 2のジェネリクスは早く来て欲しい。
534デフォルトの名無しさん
2018/12/18(火) 17:24:06.41ID:i5/qQ3O3 例外はデメリットも結構あるから、Goはこれでいいと思う。
どうしても例外使いたけりゃ他の言語を選べばいいだけだし
どうしても例外使いたけりゃ他の言語を選べばいいだけだし
535デフォルトの名無しさん
2018/12/18(火) 21:40:50.49ID:PpaqEYc3 >>530
そう。javaのやつ。
あれからいじくり回した結果、自分でメソッド生やせば似たような事はできた。
そしてjavaのenumに求めていたような事はgoでは違う方法で実現すべきという気がしてきた。。
そう。javaのやつ。
あれからいじくり回した結果、自分でメソッド生やせば似たような事はできた。
そしてjavaのenumに求めていたような事はgoでは違う方法で実現すべきという気がしてきた。。
536デフォルトの名無しさん
2018/12/18(火) 22:25:39.60ID:GlOV63IU レガシージャバで嫌な思いしてきたからgo最高ですよ
537デフォルトの名無しさん
2018/12/18(火) 22:56:38.25ID:mQMHvFDr ジャバパーには百億万年はやいわ
538デフォルトの名無しさん
2018/12/19(水) 17:31:27.87ID:KHs5Plkd そりゃ違う言語なら違うやり方を選ぶべきだよ。
と、かつてCOBOLの流儀で書かれたJavaに殺されかけたおじさんはそう思うよ。
と、かつてCOBOLの流儀で書かれたJavaに殺されかけたおじさんはそう思うよ。
539デフォルトの名無しさん
2018/12/25(火) 20:36:11.45ID:3QMf4sRP リモートプロセスとchannel通信したいと思ったんだけど、netchanってもう非推奨なんだよね。
代わりになるものって無いのかな。
代わりになるものって無いのかな。
540デフォルトの名無しさん
2018/12/26(水) 09:24:38.30ID:r3FEspMX Rpcで普通に使った、ような気がするけど忘れた
541デフォルトの名無しさん
2018/12/26(水) 14:18:53.66ID:Sasn9R68 標準パッケージだとrpcしかないか。
channelから取得したデータをrpcで投げるブリッジを自分で用意すればなんとかなるかな。
それにしてもなんでnetchanやめたんだろうね。
channelから取得したデータをrpcで投げるブリッジを自分で用意すればなんとかなるかな。
それにしてもなんでnetchanやめたんだろうね。
542デフォルトの名無しさん
2018/12/29(土) 00:31:26.22ID:zIR6/lTX log.Fatal()を呼び出したときdeferが実行されない罠なんなんですか
543デフォルトの名無しさん
2018/12/29(土) 00:41:06.26ID:zIR6/lTX panic()使ってmain()のdefer内のrecover()で拾ってlog.Fatal()使えってこと?
544デフォルトの名無しさん
2018/12/29(土) 19:03:32.68ID:WEMziwS2 Go2っていつ出るの?
545デフォルトの名無しさん
2018/12/30(日) 12:05:53.02ID:JDxg8BDU546デフォルトの名無しさん
2018/12/30(日) 22:55:53.71ID:h/ITxURK Fatalは致命的なのでリソース解放とか気にしている場合じゃないのです
547デフォルトの名無しさん
2018/12/30(日) 23:01:13.81ID:h/ITxURK 致命的な状況でFatalの代わりにPanicを呼ぶのは妥当ではありません
プログラムの実行の継続をしてはいけない状況でPanicはプログラムを終了できる保証はありません
プログラムの実行の継続をしてはいけない状況でPanicはプログラムを終了できる保証はありません
548デフォルトの名無しさん
2018/12/31(月) 08:20:24.36ID:sEEumFv8 目的で使い分けりゃいいだけの話。defer呼びたいっていうことならPanicでいいだろ。
549デフォルトの名無しさん
2019/01/01(火) 05:38:49.30ID:iiZvEYxC goでシフトキーを破壊する皆さん
550デフォルトの名無しさん
2019/01/15(火) 19:29:05.98ID:weoqLEpo 放置してたチュートリアルを、最近また始めた。
前はエラーのinterfaceが理解しきれず詰まったんだけど、
今回やり直してやっと原因がわかった。
fmt.Errorfで返せばええやん
interfaceの説明のためにエラーを返すためだけのタイプ作ってるってことが今はわかったけど、
前はその意図が全く理解できず放置になってしまった
そういうとこあかんよねgo言語(´・ω・`)
前はエラーのinterfaceが理解しきれず詰まったんだけど、
今回やり直してやっと原因がわかった。
fmt.Errorfで返せばええやん
interfaceの説明のためにエラーを返すためだけのタイプ作ってるってことが今はわかったけど、
前はその意図が全く理解できず放置になってしまった
そういうとこあかんよねgo言語(´・ω・`)
551デフォルトの名無しさん
2019/01/15(火) 19:34:19.92ID:V1Jt5j5c それはお前の頭が悪いせい
552デフォルトの名無しさん
2019/01/15(火) 20:08:32.41ID:weoqLEpo または前の関数使い回さず、
interfaceに変えた上で実装なら筋が通ってる
あんな使い方するシチュ無いよね?
interfaceに変えた上で実装なら筋が通ってる
あんな使い方するシチュ無いよね?
553デフォルトの名無しさん
2019/01/17(木) 00:32:20.13ID:Zz9QwkOf554デフォルトの名無しさん
2019/01/17(木) 02:16:19.75ID:jQ16lSTt あーごめんこれ
https://go-tour-jp.appspot.com/methods/20
■正答とされているもの
func (e ErrNegativeSqrt) Error() string {
return "cannot Sqrt negative number: " + fmt.Sprint(float64(e))
}
func Sqrt(x float64) (float64, error) {
if x < 0 { return x, ErrNegativeSqrt(x) }
}
実際やるなら普通こうだろ!と思った答え
■その1 fmt.Errorfつかう
func Sqrt(x float64) (float64, error) {
if x < 0 { return x, fmt.Errorf("cannot Sqrt negative number: %f", x) }
}
■その2 interfaceで揃える
type FloatValue float64
func (x FloatValue) Error() string {
return "cannot Sqrt negative number: " + fmt.Sprint(float64(x))
}
func (x FloatValue) Sqrt() (float64, error) {
if x < 0 { float64(x), x }
}
func main() {
o := FloatValue(2)
fmt.Println(o.Sqrt())
}
typeにErrorを実装することでinterfaceの条件を満たせるんですよってのが演習の目的なんだと思うけど、実際こんな実装するの?って疑問に思った。行数限界
https://go-tour-jp.appspot.com/methods/20
■正答とされているもの
func (e ErrNegativeSqrt) Error() string {
return "cannot Sqrt negative number: " + fmt.Sprint(float64(e))
}
func Sqrt(x float64) (float64, error) {
if x < 0 { return x, ErrNegativeSqrt(x) }
}
実際やるなら普通こうだろ!と思った答え
■その1 fmt.Errorfつかう
func Sqrt(x float64) (float64, error) {
if x < 0 { return x, fmt.Errorf("cannot Sqrt negative number: %f", x) }
}
■その2 interfaceで揃える
type FloatValue float64
func (x FloatValue) Error() string {
return "cannot Sqrt negative number: " + fmt.Sprint(float64(x))
}
func (x FloatValue) Sqrt() (float64, error) {
if x < 0 { float64(x), x }
}
func main() {
o := FloatValue(2)
fmt.Println(o.Sqrt())
}
typeにErrorを実装することでinterfaceの条件を満たせるんですよってのが演習の目的なんだと思うけど、実際こんな実装するの?って疑問に思った。行数限界
555デフォルトの名無しさん
2019/01/17(木) 02:23:39.13ID:jQ16lSTt >>553
リンク先ちゃんと読んでなかった
いろんな回答例出てるのね
ただ出題の前提条件はやっぱおかしいというか、無理がある気はする
新しい型:
type ErrNegativeSqrt float64
を作成してください。
こんな事普通しないよね?
という話でした
明日にでも読んでみますわブログ
リンク先ちゃんと読んでなかった
いろんな回答例出てるのね
ただ出題の前提条件はやっぱおかしいというか、無理がある気はする
新しい型:
type ErrNegativeSqrt float64
を作成してください。
こんな事普通しないよね?
という話でした
明日にでも読んでみますわブログ
556デフォルトの名無しさん
2019/01/17(木) 08:27:18.50ID:fKvosqrp557デフォルトの名無しさん
2019/01/17(木) 09:30:20.17ID:xvRRAtaT558デフォルトの名無しさん
2019/01/17(木) 09:32:44.24ID:xvRRAtaT あとここに書いたのは、
正答の例って使うシーン無いよね?ってのが本当にわからなかったからでもあります(´・ω・`)
正答の例って使うシーン無いよね?ってのが本当にわからなかったからでもあります(´・ω・`)
559デフォルトの名無しさん
2019/01/17(木) 10:58:58.69ID:OJEKhktg > こんな事普通しないよね?
golangではする
golangではする
560デフォルトの名無しさん
2019/01/18(金) 04:19:34.68ID:UbZsPaza >>555
エラーの型を作るのは深いところからerrorが戻ってきたときに何のエラーか特定できるようにしてエラー次第で処理を分岐するためなのではないの?
エラーの型を作るのは深いところからerrorが戻ってきたときに何のエラーか特定できるようにしてエラー次第で処理を分岐するためなのではないの?
561デフォルトの名無しさん
2019/01/18(金) 09:28:00.56ID:v7oCtyd7■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【テレビ】25年ぶり復活「炎のチャレンジャー」南原清隆&菊池風磨がMC 懐かし「電流イライラ棒」も [湛然★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 南海トラフ直しといた
- 女って金とイケメンしか見てないよな
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 高市総理、睡眠時間30分😢
- フェリーの魅力を語ろう。
- 【速報】高市早苗、起床 [779938112]
