Go言語によるWebアプリケーション開発を語るスレです
公式
https://golang.org/
公式日本語訳
http://golang-jp.org/
チュートリアル
https://go-tour-jp.appspot.com/welcome/1
【Go言語】 webapp GO Part1 【Golang】 [無断転載禁止]©2ch.net
2016/07/27(水) 12:46:23.51ID:???
323nobodyさん
2017/08/05(土) 09:48:04.97ID:???326nobodyさん
2017/08/05(土) 19:16:09.97ID:??? GoにおけるDB操作の決定版ってなんだすろう。
結局xoでスキーマに対応する構造体と生成可能なメソッドを作りつつ
足りないものはsquirrelってqueryBuilderで組み立てるって方針でやってる。
けど、なんかxoメンテしてる人やるきなさげ。
結局xoでスキーマに対応する構造体と生成可能なメソッドを作りつつ
足りないものはsquirrelってqueryBuilderで組み立てるって方針でやってる。
けど、なんかxoメンテしてる人やるきなさげ。
327nobodyさん
2017/08/07(月) 15:06:23.83ID:??? てs
328nobodyさん
2017/08/10(木) 20:59:08.52ID:??? LLから入ったんだけど構造体とかインターフェイスあたりの設計?の勘所みたいなのが分からん
みんなどうやってGo言語(あるいはJavaとか)の設計をいいかんじにできるようになったの?
みんなどうやってGo言語(あるいはJavaとか)の設計をいいかんじにできるようになったの?
329nobodyさん
2017/08/10(木) 21:48:13.12ID:??? Go言語は真面目に設計する言語じゃない
適当に書く言語
適当に書く言語
331nobodyさん
2017/08/12(土) 17:21:40.47ID:??? >>330
そう聞かれるとうまい答えが見つからぶ「オブジェクト指向っぽい設計」というアホな回答になってしまう
そもそもインターフェイスとかいう概念がなかったので使いこなすのが難しい
インターフェイスの何が嬉しいんだみたいな疑問が定期的にわいてくるんだが
そう聞かれるとうまい答えが見つからぶ「オブジェクト指向っぽい設計」というアホな回答になってしまう
そもそもインターフェイスとかいう概念がなかったので使いこなすのが難しい
インターフェイスの何が嬉しいんだみたいな疑問が定期的にわいてくるんだが
332nobodyさん
2017/08/12(土) 18:24:07.22ID:??? 動的言語だとダックタイピングだからインターフェースがないってことか。
インタフェースはまんまインターフェースだよ
APIはアプリケーションインターフェースだろ。
つまりオブジェクト間で情報をやり取りするための決まり。
例えばfmt.Fprintfをみてみよう。
https://golang.org/pkg/fmt/#Fprintf
第一引数にはio.Writerを満たすインターフェースならなんでも突っ込める
じゃあio.Writerインターフェースって何か?
これはwriteメソッドを備えたもの
例えばhttpのレスポンスだったり、もちろんファイルだったり
それらはとにかくwriteメソッドを実装しているだけなんだ。
自分で作ったオブジェクトもwiteメソッドさえ備えていれば突っ込める。
便利でしょ?
動的言語の場合だって if (typeof xxx.someMethod === ‘function’) みたいなコードを書いたりしたでしょ?
こういうのを一々入れる必要がなくなる。
なぜならインターフェースの条件を満たさないオブジェクトを突っ込むとコンパイルエラーになるから。
インタフェースはまんまインターフェースだよ
APIはアプリケーションインターフェースだろ。
つまりオブジェクト間で情報をやり取りするための決まり。
例えばfmt.Fprintfをみてみよう。
https://golang.org/pkg/fmt/#Fprintf
第一引数にはio.Writerを満たすインターフェースならなんでも突っ込める
じゃあio.Writerインターフェースって何か?
これはwriteメソッドを備えたもの
例えばhttpのレスポンスだったり、もちろんファイルだったり
それらはとにかくwriteメソッドを実装しているだけなんだ。
自分で作ったオブジェクトもwiteメソッドさえ備えていれば突っ込める。
便利でしょ?
動的言語の場合だって if (typeof xxx.someMethod === ‘function’) みたいなコードを書いたりしたでしょ?
こういうのを一々入れる必要がなくなる。
なぜならインターフェースの条件を満たさないオブジェクトを突っ込むとコンパイルエラーになるから。
333nobodyさん
2017/08/12(土) 18:27:27.82ID:??? 心地の良い設計の基本はすべてを知らなくても実装できること。
例えばfmt.Fprintfの中の実装を知らなくても
Writeメソッドを実装すればfmt.Printfが使えるでしょ。
そういう風に自作のオブジェクトも基本的にインターフェースを仲介して
各オブジェクトの詳細は知らなくても使えるようにする。
つまり疎結合にしてやる。
例えばfmt.Fprintfの中の実装を知らなくても
Writeメソッドを実装すればfmt.Printfが使えるでしょ。
そういう風に自作のオブジェクトも基本的にインターフェースを仲介して
各オブジェクトの詳細は知らなくても使えるようにする。
つまり疎結合にしてやる。
334nobodyさん
2017/08/12(土) 18:29:48.82ID:??? インタフェースは既存のクラスに手を入れられないのがつらみ
C# みたいな this キーワードいれたりとか Haskell みたいなアドホック多相とかあれば別だけど
C# みたいな this キーワードいれたりとか Haskell みたいなアドホック多相とかあれば別だけど
335nobodyさん
2017/08/12(土) 18:32:31.26ID:??? 俺としてはgoaとか勧める。
あれはwebapiを設計してやるとgoのコードを生成する。
webapiの実装例として参考になるし、そのまま開発してもいいし。
あれはwebapiを設計してやるとgoのコードを生成する。
webapiの実装例として参考になるし、そのまま開発してもいいし。
336nobodyさん
2017/08/12(土) 18:58:51.25ID:??? なるほど色々ありがとう
インターフェースの嬉しいところはなんとなく分かった。
ある型にたいして既存の関数やメソッドを使いたい→インターフェースを満たすようにメソッドを定義という感じの思考のプロセスでいいのかな?
インターフェースの嬉しいところはなんとなく分かった。
ある型にたいして既存の関数やメソッドを使いたい→インターフェースを満たすようにメソッドを定義という感じの思考のプロセスでいいのかな?
337nobodyさん
2017/08/12(土) 19:31:31.97ID:??? >>336
例えばテスト主体で考えてもらえればより便利さがわかると思う。
interfaceを満たすだけのダミーなら簡単に用意できるでしょ。
structを直接引数に取る形にすると本番のstructをテスト書く時に用意しなきゃいけなくなる。
この思考プロセスがやがてDIに結びついていくんだけども。
例えばテスト主体で考えてもらえればより便利さがわかると思う。
interfaceを満たすだけのダミーなら簡単に用意できるでしょ。
structを直接引数に取る形にすると本番のstructをテスト書く時に用意しなきゃいけなくなる。
この思考プロセスがやがてDIに結びついていくんだけども。
338nobodyさん
2017/08/12(土) 22:27:32.53ID:???339nobodyさん
2017/08/13(日) 09:29:35.58ID:??? goにおける配列操作で目的の要素を取り出すのっていちいちループを回さないとだめ?
標準ライブラリになんかないかな
標準ライブラリになんかないかな
340nobodyさん
2017/08/16(水) 17:33:34.62ID:??? メソッドのレシーバにnil pointerを渡して有用な場合ってどういうときなの?
メソッド内でフィールドアクセスする際にpanicになったりして良いことない気がするんだが
メソッド内でフィールドアクセスする際にpanicになったりして良いことない気がするんだが
341nobodyさん
2017/08/17(木) 02:53:47.65ID:??? >>340
別にnilを渡せるのが有用とかいう話は無くて、単にポインタに対してメソッドを呼び出せるとレシーバーがnilになりうるけどどーすんの?って話でしょ
他言語ではメソッドは呼ばれずにNullPointerException的なのが飛ぶようになってるけど
goの場合はメソッド側でnilに対処すれば呼び出し側はレシーバーがnilかどうかを気にしなくてもいいというメリットはある
別にnilを渡せるのが有用とかいう話は無くて、単にポインタに対してメソッドを呼び出せるとレシーバーがnilになりうるけどどーすんの?って話でしょ
他言語ではメソッドは呼ばれずにNullPointerException的なのが飛ぶようになってるけど
goの場合はメソッド側でnilに対処すれば呼び出し側はレシーバーがnilかどうかを気にしなくてもいいというメリットはある
342nobodyさん
2017/08/17(木) 05:13:20.16ID:???343nobodyさん
2017/08/17(木) 09:20:51.85ID:??? go2でnull安全にならないかな。無理?
344nobodyさん
2017/09/05(火) 00:18:50.69ID:??? gaeのdatastoreを勉強できるいい教材ないかな
345nobodyさん
2017/09/06(水) 10:48:27.81ID:??? appEngine使ってる人いないのん?
go1.8にも対応しつつあるし期待しとるよ
go1.8にも対応しつつあるし期待しとるよ
346nobodyさん
2017/09/08(金) 10:37:14.59ID:URvmV42V GAE勝手にサービス終了しやがった
347nobodyさん
2017/09/08(金) 19:41:29.06ID:??? スレチかもしれないけどGAEってエロあり?
349nobodyさん
2017/09/10(日) 22:06:52.18ID:??? goで配列の定義で
[]*T ってよく見るんですが
[]T でダメなんですかね? []*Tにするメリットを教えて下さい
[]*T ってよく見るんですが
[]T でダメなんですかね? []*Tにするメリットを教えて下さい
350nobodyさん
2017/09/15(金) 15:34:05.50ID:??? https://cloudplatform.googleblog.com/2017/09/introducing-managed-SSL-for-Google-App-Engine.html?m=1
ナニコレ
GAE使えばSSL無料で使えるっていう意味?
これはいいな
>We’re excited to announce the beta release of managed SSL certificates at no charge for applications built on Google App Engine.
ナニコレ
GAE使えばSSL無料で使えるっていう意味?
これはいいな
>We’re excited to announce the beta release of managed SSL certificates at no charge for applications built on Google App Engine.
351nobodyさん
2017/09/15(金) 15:38:04.13ID:??? コスト的にかなりいいよな
ついでにドメインも無料化してくれないかな…(チラチラ)
Googleが発行するクレカの特典とかでもいいから
(Googleにはクレカ利用料の数%のインセンティブがあるからそれで賄える)
Googleブランドのクレカが欲しいねん
ついでにドメインも無料化してくれないかな…(チラチラ)
Googleが発行するクレカの特典とかでもいいから
(Googleにはクレカ利用料の数%のインセンティブがあるからそれで賄える)
Googleブランドのクレカが欲しいねん
352nobodyさん
2017/09/15(金) 20:56:49.57ID:??? Let's encryptとGAEと自動更新スクリプトで無償SSLは既に実現できてた
それを管理コンソールから簡単に設定出来るようにしたとか、そういうのかね?
それを管理コンソールから簡単に設定出来るようにしたとか、そういうのかね?
353nobodyさん
2017/09/16(土) 00:33:11.03ID:???354nobodyさん
2017/09/16(土) 16:01:42.07ID:??? これでPaaSはGAE一択になったな
今までSSL証明書に払っていたお金をスケールアウト費用に回せるから
コスパぶっちぎりで良い
AWSも追従してくれ
今までSSL証明書に払っていたお金をスケールアウト費用に回せるから
コスパぶっちぎりで良い
AWSも追従してくれ
355nobodyさん
2017/09/16(土) 16:06:32.48ID:???356nobodyさん
2017/09/16(土) 16:10:23.10ID:??? GAEはAWSと違ってサービスが成長しなければ、ずーっと無料で運営できるのが良いのだよ
失敗時のリスクが低いから挑戦しやすい
ランニングコストがほぼ0円になれば、例え月10万PVしかないサービスでも停止せずに
次の新しいサービスを並列で増やして収益アップできる
月間10万PVのサービスを100個作れば1000万PV、月間150万円の収入が期待できる
資金力がない学生起業にぴったりだわ
失敗時のリスクが低いから挑戦しやすい
ランニングコストがほぼ0円になれば、例え月10万PVしかないサービスでも停止せずに
次の新しいサービスを並列で増やして収益アップできる
月間10万PVのサービスを100個作れば1000万PV、月間150万円の収入が期待できる
資金力がない学生起業にぴったりだわ
357nobodyさん
2017/09/16(土) 16:19:58.98ID:??? GAE/Go SE素晴らしいのに採用事例が一部の野心的な会社しかないんだよな
DeNAとサイバーエージェント、メルカリ(の子会社)くらいしかない
DeNAとサイバーエージェント、メルカリ(の子会社)くらいしかない
358nobodyさん
2017/09/16(土) 16:25:41.59ID:??? datastoreの学習コストが問題なのかね
359nobodyさん
2017/09/16(土) 17:22:33.07ID:??? HTTPSじゃないとSEO不利だからこれは朗報
趣味サイトに年間1円も掛けたくない
趣味サイトに年間1円も掛けたくない
360nobodyさん
2017/09/16(土) 21:41:26.98ID:??? レッツエンクリプトなんて今更感しかないだろ
361nobodyさん
2017/09/17(日) 09:43:12.78ID:??? >>358
datastoreが使いづらいと言ってもgoコード側でスキーマ設定する感じだし
joinできないからこそ結果的に使いやすいかもしれない
dbの挙動もレプリカありきの挙動だとすれば納得できる
datastoreが使いづらいと言ってもgoコード側でスキーマ設定する感じだし
joinできないからこそ結果的に使いやすいかもしれない
dbの挙動もレプリカありきの挙動だとすれば納得できる
362nobodyさん
2017/09/18(月) 06:17:20.92ID:??? いわゆるBtoBの受託開発だと帳票出力があるからjoinないとキツイが
GAE/Goが想定してるのはBtoCのwebサービスだからjoinなくても何とかなる
ページングもカーソル使って次へと戻るだけあればいい
GAE/Goが想定してるのはBtoCのwebサービスだからjoinなくても何とかなる
ページングもカーソル使って次へと戻るだけあればいい
363nobodyさん
2017/09/25(月) 22:11:41.45ID:??? handlerのテストってどこまで厳密にやるべきなの?
DBとのやりとりの部分とかは内部で使ってる関数をテストすればもんだいないから様々なパラメタに対して200を返せるかどうかだけでいいのでは?と思うんだけど
DBとのやりとりの部分とかは内部で使ってる関数をテストすればもんだいないから様々なパラメタに対して200を返せるかどうかだけでいいのでは?と思うんだけど
365nobodyさん
2017/09/26(火) 00:17:16.02ID:??? >>364
そのバリデーションってどこのことだろう…?
自分の中ではhandlerに対するテストなんかは裏側から取得してきたデータがどういうものかはあまり気にする必要がなくて入力と返ってきたデータの出力の仕方だけが関心点だと思ってるんだけどなかなかそういう記事とか見かけないんだよね
そのバリデーションってどこのことだろう…?
自分の中ではhandlerに対するテストなんかは裏側から取得してきたデータがどういうものかはあまり気にする必要がなくて入力と返ってきたデータの出力の仕方だけが関心点だと思ってるんだけどなかなかそういう記事とか見かけないんだよね
366nobodyさん
2017/09/26(火) 01:14:58.21ID:??? postしたデータは、バリデーションせずにdbに、ぶち込んじゃうの?
get系でも入力パラメーターのバリデーションあるよね。
get系でも入力パラメーターのバリデーションあるよね。
367nobodyさん
2017/09/26(火) 01:23:01.52ID:??? >>366
そこでのバリデーションならちゃんとテストケースに含めるべきだと思う
一方でたとえばUsersテーブルからデータをとってくるためのgetUsers内でのバリデーションのようなものはテストケースをいちいち考慮したくないということが言いたかった
そこでのバリデーションならちゃんとテストケースに含めるべきだと思う
一方でたとえばUsersテーブルからデータをとってくるためのgetUsers内でのバリデーションのようなものはテストケースをいちいち考慮したくないということが言いたかった
368nobodyさん
2017/10/02(月) 23:38:46.87ID:??? golangで独自の仮想通貨を作るのって出来る?
gethを改造すればいい感じ?
gethを改造すればいい感じ?
369nobodyさん
2017/10/08(日) 01:33:45.12ID:??? go test とか go build, go install などのコマンドってどこに定義されてるの?
ソースを読んでみたいんだけど見つからなくて困ってる
ソースを読んでみたいんだけど見つからなくて困ってる
370nobodyさん
2017/10/08(日) 01:41:36.39ID:??? cd ${GOROOT}/src/cmd
371nobodyさん
2017/10/08(日) 02:46:19.38ID:??? ありがとう、cmdのinternalにあるの見逃してた
372nobodyさん
2017/10/09(月) 09:32:28.50ID:???373nobodyさん
2017/10/17(火) 05:35:21.44ID:??? ゲーム作るためにgo-gl/glfw使おうとしてmain関数作って実行しようとしたら、
build constraints exclude all Go files in C:\Users\ユーザ名\Desktop\glfw
って出た。GOOS=windows, GOARCH=386で試したんだけど初心者すぎてわからん
build constraints exclude all Go files in C:\Users\ユーザ名\Desktop\glfw
って出た。GOOS=windows, GOARCH=386で試したんだけど初心者すぎてわからん
374nobodyさん
2017/10/30(月) 14:57:02.91ID:??? 予選通過組はGoが半分か。すごいな。
http://isucon.net/archives/51000131.html
http://isucon.net/archives/51000131.html
375nobodyさん
2017/10/30(月) 15:07:30.47ID:??? Ruby使いはwebデザイナあがりの意識高い系が多い(もちろんMac)
PHP、Perl使いは大昔にHTMLタグを直打ちしてたHTMLコーダー出身のスパゲッティコードを量産していた老害と、その老害を上司に持つ可哀想な若者が多い
Python使いは科学技術や情報工学系(自然言語処理、機械学習、深層学習等)のアカデミア出身者が多い
Go使いは新進気鋭なBtoC系上場企業の社員が多い
JavaはBtoB系受託IT土方が多い
こういう印象あるわ
PHP、Perl使いは大昔にHTMLタグを直打ちしてたHTMLコーダー出身のスパゲッティコードを量産していた老害と、その老害を上司に持つ可哀想な若者が多い
Python使いは科学技術や情報工学系(自然言語処理、機械学習、深層学習等)のアカデミア出身者が多い
Go使いは新進気鋭なBtoC系上場企業の社員が多い
JavaはBtoB系受託IT土方が多い
こういう印象あるわ
376nobodyさん
2017/10/30(月) 15:56:22.62ID:??? この結果を受けてweb&スマホアプリのバックエンドはGoが主流になるんだろうな
当社ではGoエンジニア募集中です
当社ではGoエンジニア募集中です
377nobodyさん
2017/10/30(月) 16:29:20.54ID:??? Goは日本語学習サイトを充実させたほうがいい
PHPerがGoに移行するにはネットで検索>コードをコピペ
この集合でwebアプリケーションが作れないとダメだからな
PHPerがGoに移行するにはネットで検索>コードをコピペ
この集合でwebアプリケーションが作れないとダメだからな
378nobodyさん
2017/10/30(月) 18:32:44.55ID:???379nobodyさん
2017/10/30(月) 19:39:18.69ID:??? インタプリタとコンパイラ言語で速度比較したらそりゃ
Goのほうが有利だろ
省メモリ性やら単純な速度まで桁が違う
Goのほうが有利だろ
省メモリ性やら単純な速度まで桁が違う
380nobodyさん
2017/10/30(月) 23:19:19.13ID:wUOmmPOd 将来性あるのかね
381nobodyさん
2017/10/31(火) 01:06:44.62ID:??? 俺もうSPA前提でバックエンドにgoaを使うことでwebアプリ書いてるんだけど、いいよね。なんかgoaはマイクロサービス用のフレームワークと名乗ってるんだけど、別にマイクロサービス関係なしに使いたいんだけど。
つーかGAEで使ってるけど良い。
つーかGAEで使ってるけど良い。
382nobodyさん
2017/10/31(火) 02:00:30.70ID:??? SPAってSEOどうなの?
383nobodyさん
2017/10/31(火) 10:32:10.96ID:9A6ED9LI 仕事でwebサービスをGoで書いてるけど、もっとGo使う会社増えないかなー
Go使ってて転職したいと思う会社が無い
Go使ってて転職したいと思う会社が無い
384nobodyさん
2017/10/31(火) 12:18:08.41ID:??? >>380
Googleの基幹事業だしDonateで維持してるオープンソースコミュニティ発の言語よりは将来性あるんじゃね
Youtubeのバックエンドで動いてるPythonコードをGolangに変換してパフォーマンス改善してるし
その他にも色々とGolangで動いてるシステムがある
また今の時期にGolangに目をつけてる会社は、経営陣(CTO等)に先見の明がある証拠だから伸びるだろう
Googleの基幹事業だしDonateで維持してるオープンソースコミュニティ発の言語よりは将来性あるんじゃね
Youtubeのバックエンドで動いてるPythonコードをGolangに変換してパフォーマンス改善してるし
その他にも色々とGolangで動いてるシステムがある
また今の時期にGolangに目をつけてる会社は、経営陣(CTO等)に先見の明がある証拠だから伸びるだろう
385nobodyさん
2017/10/31(火) 22:14:40.01ID:??? どうでもいいけどGolangって書き方に違和感ある。
Goかgolangじゃないの?
Goかgolangじゃないの?
386nobodyさん
2017/11/01(水) 11:50:17.21ID:??? C言語
Clang
https://ja.wikipedia.org/wiki/Clang
Go言語
Golang
この伝統に則って大文字だぞ
○+langのlangはググラビリティを向上させるsuffixでしかない
Clang
https://ja.wikipedia.org/wiki/Clang
Go言語
Golang
この伝統に則って大文字だぞ
○+langのlangはググラビリティを向上させるsuffixでしかない
387nobodyさん
2017/11/01(水) 12:52:44.31ID:??? Dlang
Erlang
Erlang
388nobodyさん
2017/11/01(水) 19:50:44.85ID:gNO8HPb6 あーらんは正式名称じゃん
390nobodyさん
2017/11/02(木) 18:25:32.74ID:??? タグなんてユーザーが適当につけるものを論拠にされても
391nobodyさん
2017/11/03(金) 10:46:52.23ID:??? gopherのみんなはGoのinterfaceについてはどう感じてる?
他の言語のinterfaceについて詳しくないんだけど、interfaceのもつメソッドを実装していれば満たしていることになるというのがどうも分かりなくくて辛い
明示的にこのinterfaceを満たしてますよみたいなのが欲しいのは修行が足りてない?
他の言語のinterfaceについて詳しくないんだけど、interfaceのもつメソッドを実装していれば満たしていることになるというのがどうも分かりなくくて辛い
明示的にこのinterfaceを満たしてますよみたいなのが欲しいのは修行が足りてない?
392nobodyさん
2017/11/03(金) 14:00:58.57ID:BF7OMi2r Frank
Golang
Golang
393nobodyさん
2017/11/03(金) 14:55:44.66ID:???395nobodyさん
2017/11/03(金) 16:24:00.33ID:??? Goのinterface面白いと思うよ
何を満たしてるかぱっと見でわからないっていうのはinterfaceの使い方が良くないんだと思う
必要なメソッドを理解しないまま使おうとしてるからわからなくなるんじゃない?
何を満たしてるかぱっと見でわからないっていうのはinterfaceの使い方が良くないんだと思う
必要なメソッドを理解しないまま使おうとしてるからわからなくなるんじゃない?
397nobodyさん
2017/11/03(金) 17:22:11.97ID:??? >>395
面白いしJavaとかより柔軟だよね。
もっとinterfaceを拡張してプロパティとか演算子のシンタックスシュガーをもっと付けて欲しいとは思う。
多分上手く拡張できればジェネリクスに近い感じになると思うんだけど
面白いしJavaとかより柔軟だよね。
もっとinterfaceを拡張してプロパティとか演算子のシンタックスシュガーをもっと付けて欲しいとは思う。
多分上手く拡張できればジェネリクスに近い感じになると思うんだけど
398nobodyさん
2017/11/03(金) 17:37:29.27ID:??? >>396
?
そもそもIの存在を知らないような場合にそういうコードでチェックできないと思うんだが
TにReadメソッドが実装されてる→よく読み進めるとIにはReadメソッドをもつ→TはIを満たしてるという思考の流れが気持ち悪い
?
そもそもIの存在を知らないような場合にそういうコードでチェックできないと思うんだが
TにReadメソッドが実装されてる→よく読み進めるとIにはReadメソッドをもつ→TはIを満たしてるという思考の流れが気持ち悪い
399nobodyさん
2017/11/03(金) 18:08:43.40ID:??? >>398
考え方がおかしい。元々の質問は
>> 明示的にこのinterfaceを満たしてますよみたいなのが欲しい
という話だから当然inteface “I”の存在を知っている前提。
構造体Tを作っていてそいつにinterface Iの実装を行いたいという場合に
type T struct{}
var _ I = T{}
とういう風に書くと実装条件を満たすかをコンパイルエラーでチェックできるから
確実に実装できる。
考え方がおかしい。元々の質問は
>> 明示的にこのinterfaceを満たしてますよみたいなのが欲しい
という話だから当然inteface “I”の存在を知っている前提。
構造体Tを作っていてそいつにinterface Iの実装を行いたいという場合に
type T struct{}
var _ I = T{}
とういう風に書くと実装条件を満たすかをコンパイルエラーでチェックできるから
確実に実装できる。
400nobodyさん
2017/11/03(金) 18:43:50.33ID:??? もしかして定義済みの型がどのinterfaceを実装してるのか明示してほしいってことか
でもそれGoのinterfaceの考え方じゃないよ
でもそれGoのinterfaceの考え方じゃないよ
401nobodyさん
2017/11/04(土) 00:08:40.50ID:??? >>400
アンカーつけないとなんに対しての反論かわからんのだが。
interfaceの概念はべつにGo独自とかそういうもんじゃないし
Goのinterfaceの考え方ってなんのことを指してるのかよくわからんな。
基本的にはJavaと変わらんでしょimplementsが不要ってだけ。
アンカーつけないとなんに対しての反論かわからんのだが。
interfaceの概念はべつにGo独自とかそういうもんじゃないし
Goのinterfaceの考え方ってなんのことを指してるのかよくわからんな。
基本的にはJavaと変わらんでしょimplementsが不要ってだけ。
402nobodyさん
2017/11/04(土) 00:27:05.59ID:???403nobodyさん
2017/11/04(土) 02:51:54.56ID:??? >>402
なんかフワッフワした言い回しすぎて何を説明したいのかがわからんな。
interfaceは、英単語の意味そのものだよ。つまりはメソッド名とパラメーターの並びと、返り値の型の組み合わせそのもの。
それ以上でもそれ以下でもない。
基本的には言語として共通の概念と言える。
goとそれ以外の言語の違いは
型(javaの場合はclass)がinterfaceを満たす条件が違うってだけ。
条件の違いは
java: interfaceを明示的に指定する
go: interfaceと同じメソッドを、実装する
なんかフワッフワした言い回しすぎて何を説明したいのかがわからんな。
interfaceは、英単語の意味そのものだよ。つまりはメソッド名とパラメーターの並びと、返り値の型の組み合わせそのもの。
それ以上でもそれ以下でもない。
基本的には言語として共通の概念と言える。
goとそれ以外の言語の違いは
型(javaの場合はclass)がinterfaceを満たす条件が違うってだけ。
条件の違いは
java: interfaceを明示的に指定する
go: interfaceと同じメソッドを、実装する
404nobodyさん
2017/11/04(土) 10:03:13.95ID:??? どうでもいい言葉あそびを始めちゃった
405nobodyさん
2017/11/04(土) 14:18:28.93ID:??? PHPerだらけだったうちの会社もとうとうGoの勢いを感じて次のプロジェクトで使うことになった
ISUCONの結果が地味に効いてる
経営陣はAWSの課金が減ることを期待してるみたいだけど、はたしてどうなることやら
ISUCONの結果が地味に効いてる
経営陣はAWSの課金が減ることを期待してるみたいだけど、はたしてどうなることやら
407nobodyさん
2017/11/04(土) 22:04:18.44ID:??? 他人の書いたソースを読んでて特定のinterfaceの実際の実装を見たい場合
どの構造体や型をみればいいのか探すのが面倒なことはまれによくある
どの構造体や型をみればいいのか探すのが面倒なことはまれによくある
408nobodyさん
2017/11/05(日) 09:46:32.93ID:80U0JgH4 > Goのinterfaceはオブジェクトが必要な機能を備えているか調べるためのもの
これって公式にどっかに書いてあるの?
というかGoにオブジェクトって概念あるか
これって公式にどっかに書いてあるの?
というかGoにオブジェクトって概念あるか
410nobodyさん
2017/11/05(日) 15:24:42.14ID:???412nobodyさん
2017/11/05(日) 16:45:44.88ID:??? GAE/GoやるならStandardで使いたいんだよね
413nobodyさん
2017/11/05(日) 16:56:45.24ID:??? GAE/Go SEとgRPCは色々と苦しい
代替案として挙げられるのはGAE/Goとgoaあたり?
代替案として挙げられるのはGAE/Goとgoaあたり?
414nobodyさん
2017/11/05(日) 17:23:25.12ID:??? GAE/Go Standardでも gRPC は urlfetch でいけるんじゃないの? やったことないからわかんないけど
415nobodyさん
2017/11/06(月) 07:26:19.43ID:???416nobodyさん
2017/11/10(金) 18:14:31.71ID:??? バックエンドはGAE/Goとgoa
フロントエンドはReactとReactNative(またはVue.jsとWeex)
この構成でwebアプリ、スマホアプリを作りたい
こういう開発者向けにRailsチュートリアル並に詳細かつ丁寧に解説してあるネット文献
あるいはAmazonで買える技術書が欲しい
フロントエンドはReactとReactNative(またはVue.jsとWeex)
この構成でwebアプリ、スマホアプリを作りたい
こういう開発者向けにRailsチュートリアル並に詳細かつ丁寧に解説してあるネット文献
あるいはAmazonで買える技術書が欲しい
418nobodyさん
2017/11/11(土) 22:56:35.85ID:??? ホントはgRPCとGAE/Go使いたいんですぅ…
419nobodyさん
2017/11/14(火) 02:44:35.17ID:??? goaのDSL覚えるくらいならproto3やったほうがいいよね
goaのほうがgRPCより優れている点が思い浮かばない
goaのほうがgRPCより優れている点が思い浮かばない
420nobodyさん
2017/11/14(火) 08:02:23.86ID:??? 普通にweb apiを簡単に作れてswaggerと連携って魅力じゃないので?
421nobodyさん
2017/11/14(火) 17:08:41.07ID:??? 同じことをgRPCでも出来るがな
レスを投稿する
ニュース
- 世帯所得250万円未満」が51.3%を占める…みんな平等に貧しくなったニッポンの"言ってはいけない真実" [バイト歴50年★]
- 【芸能】佐藤二朗の地上波ドラマはしばらく厳しいが…橋本愛の事態はもっと深刻 [ぐれ★]
- 2度逮捕された、はま寿司迷惑行為男は“俺からお金取れないから”…賠償請求すら効かない「失うものがない人」への対処法とは [おっさん友の会★]
- 【サッカー】岡田武史氏、日本代表が強くなった理由は「今までなら消えていったかもしれないタレントを再復活させるシステム」 [首都圏の虎★]
- 「農家を守ろう」新潟で百姓一揆 コメ農家、厳しい経営訴えデモ 参加者約150人 [少考さん★]
- 「相手役に恵まれすぎてた」「つぅーーーーーせつに実感している」佐藤二朗、“2度の楽屋訪問”から2週間後に発信し削除した投稿が物議 [Ailuropoda melanoleuca★]
- おまえらとセックスしたい
- 【弱小】柏レイソル🏡【不人気】
- 口内炎だと思って放置してたら~口腔がんでした~
- 無人島にあったら嬉しい物
- ファミチキレッド👿
- 【悲報】佐藤二朗「あー!がまんがまん!」👈このメンヘラおぢに普通の日本人たちが共感してる理由wwwwwwwww [714769305]