Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。
探検
Go language part 1
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2013/10/10(木) 12:04:51.78573デフォルトの名無しさん
2016/06/02(木) 16:09:51.23ID:sFcAoyCt あれ、ちょっと待って
https://ideone.com/i9EfQl
later()は引数取らないけれど、
f := later()
f("apple")
どっからstoreに"apple"なんか文字列引数が渡されてるの?
こういう型の場合、ローカル変数(ここではstore)にコンストラクタのような働きが起って自動的に引数がセットされるって事?
https://ideone.com/i9EfQl
later()は引数取らないけれど、
f := later()
f("apple")
どっからstoreに"apple"なんか文字列引数が渡されてるの?
こういう型の場合、ローカル変数(ここではstore)にコンストラクタのような働きが起って自動的に引数がセットされるって事?
574デフォルトの名無しさん
2016/06/02(木) 16:14:42.71ID:sFcAoyCt 連投ごめん
f := late()
によって、fはlater()の返り値の関数を取得してるんだね
だから、f("apple")には上の無名関数func(string) stringが呼び出されて"apple"が引数とされているってことか
ごめん、分かった
f := late()
によって、fはlater()の返り値の関数を取得してるんだね
だから、f("apple")には上の無名関数func(string) stringが呼び出されて"apple"が引数とされているってことか
ごめん、分かった
575デフォルトの名無しさん
2016/06/03(金) 17:56:32.51ID:BR7tIPAt http://mattn.kaoriya.net/software/lang/go/20131112132831.htm
これの最初のコードの最後の部分、
<-workerquit
は何をしてるの?
特に変数に代入することもないし
func (g *G) ClearMsg() {
for len(g.task) > 0 {
<- g.task
}
}
も同じ事してるけど
チャネルを開放してるのかな、とも思ったけど、明示的にcloseしなくていいのかな、と
またはnilや空文字などにするとか
これの最初のコードの最後の部分、
<-workerquit
は何をしてるの?
特に変数に代入することもないし
func (g *G) ClearMsg() {
for len(g.task) > 0 {
<- g.task
}
}
も同じ事してるけど
チャネルを開放してるのかな、とも思ったけど、明示的にcloseしなくていいのかな、と
またはnilや空文字などにするとか
576デフォルトの名無しさん
2016/06/03(金) 19:00:57.59ID:qwZkBXwi577デフォルトの名無しさん
2016/06/04(土) 20:36:19.02ID:OVOooqIv windows版のbuildmodeはexeしかできないの?
もしできるならスクリプト言語のrequireみたいに動的な読み込みとかできる?
さらにもしできたとしてunload的な名前空間の削除は?
もしできるならスクリプト言語のrequireみたいに動的な読み込みとかできる?
さらにもしできたとしてunload的な名前空間の削除は?
578デフォルトの名無しさん
2016/06/06(月) 11:35:10.38ID:4GD0zoa3 >>576
遅くなったけど返答ありがと
そうなんだ
終了待ちとかあるんだ
普通にやることなければその場でkillのように終了させたほうがいい気もするけど、Goは一気にまとめて終了させるってことなのかな?
遅くなったけど返答ありがと
そうなんだ
終了待ちとかあるんだ
普通にやることなければその場でkillのように終了させたほうがいい気もするけど、Goは一気にまとめて終了させるってことなのかな?
579デフォルトの名無しさん
2016/06/06(月) 13:30:02.95ID:u3gzbyWM >>578
終了待ちのところをコメントアウトして実行してみると分かると思うけど、終了待ちしないとgoroutineを回し切る前にmainが先に終わってしまう
終了待ちのところをコメントアウトして実行してみると分かると思うけど、終了待ちしないとgoroutineを回し切る前にmainが先に終わってしまう
580デフォルトの名無しさん
2016/06/07(火) 20:01:20.35ID:UCJwx0XG >>579
ありがとう
ありがとう
581デフォルトの名無しさん
2016/06/08(水) 00:14:44.49ID:sUO1i6Sl582581
2016/06/08(水) 00:28:26.77ID:sUO1i6Sl あぁ、ごめん
fmt.Println(mes.ShowMessage())にすればいいんだね
fmt.Println(mes.ShowMessage())にすればいいんだね
583デフォルトの名無しさん
2016/06/08(水) 12:03:24.49ID:E58O1JXH584デフォルトの名無しさん
2016/06/08(水) 13:40:28.97ID:6nwZJnu3 you 変数は必要ないんじゃ?
//you := make(map[string]string)
//you["Your_name"] = scanner.Text()
me.Your_name = scanner.Text()
//you["Your_gender"] = scanner.Text()
me.Your_gender = scanner.Text()
//me.SetProfile(you)
//you := make(map[string]string)
//you["Your_name"] = scanner.Text()
me.Your_name = scanner.Text()
//you["Your_gender"] = scanner.Text()
me.Your_gender = scanner.Text()
//me.SetProfile(you)
585デフォルトの名無しさん
2016/06/08(水) 14:51:56.44ID:E58O1JXH586デフォルトの名無しさん
2016/06/08(水) 15:28:46.54ID:E58O1JXH switch k{ case 'Your_name': p.Your_name = v; } } のような処理は考えうるけど、
Pythonでいうsetattr(self, k, v)のようなこと出来ないのかなと思ったり
Pythonでいうsetattr(self, k, v)のようなこと出来ないのかなと思ったり
587デフォルトの名無しさん
2016/06/08(水) 16:47:30.19ID:6nwZJnu3 んー、reflection を使えば良いんじゃないかな
func (p *Profile) SetProfile(arr map[string]string) {
for k, v := range arr {
key := reflect.ValueOf(p).Elem().FieldByName(k)
if key.IsValid() {
key.SetString(v)
}
}
}
func (p *Profile) SetProfile(arr map[string]string) {
for k, v := range arr {
key := reflect.ValueOf(p).Elem().FieldByName(k)
if key.IsValid() {
key.SetString(v)
}
}
}
588デフォルトの名無しさん
2016/06/10(金) 11:21:56.11ID:+PET1099589デフォルトの名無しさん
2016/06/10(金) 11:28:41.43ID:+PET1099 http://qiita.com/kitoko552/items/a6698c68379a8cd8b999
オブジェクト指向っぽいことを試してみようと思い、上記のページを参考に以下のコード書いてみた
https://ideone.com/3ClfoG
$ go run capsule.go
# command-line-arguments
.\capsule.go:24: invalid indirect of Human literal (type Human)
というエラーが出るんだけどどこをどう変えればいいですか?
やりたいことは、
・カプセル化
・getter, setterの定義
・Embed
オブジェクト指向っぽいことを試してみようと思い、上記のページを参考に以下のコード書いてみた
https://ideone.com/3ClfoG
$ go run capsule.go
# command-line-arguments
.\capsule.go:24: invalid indirect of Human literal (type Human)
というエラーが出るんだけどどこをどう変えればいいですか?
やりたいことは、
・カプセル化
・getter, setterの定義
・Embed
590デフォルトの名無しさん
2016/06/10(金) 11:50:51.12ID:DB1UcVrL return *Human{
を
return &Human{
にする
を
return &Human{
にする
591デフォルトの名無しさん
2016/06/10(金) 12:35:52.40ID:xyNxE4XD592デフォルトの名無しさん
2016/06/10(金) 22:32:36.41ID:+PET1099 >>590
ありがとう
ありがとう
593デフォルトの名無しさん
2016/06/11(土) 01:51:48.80ID:vokBGi10 >>587
https://ideone.com/rGIVZU
このような場合は上手くいったけど、
https://ideone.com/86I4on
このように、構造体に2つの構造体が埋め込まれていて、それらに更に動的にメンバ変数に値を入れていくとなるとどうすればいいのか悩んでるんですが
コメントで★を入れた部分はどのように記述すれば良いのか全く分からず半日くらい費やしてます(苦笑)
https://ideone.com/rGIVZU
このような場合は上手くいったけど、
https://ideone.com/86I4on
このように、構造体に2つの構造体が埋め込まれていて、それらに更に動的にメンバ変数に値を入れていくとなるとどうすればいいのか悩んでるんですが
コメントで★を入れた部分はどのように記述すれば良いのか全く分からず半日くらい費やしてます(苦笑)
594デフォルトの名無しさん
2016/06/11(土) 02:54:26.06ID:ncrPm/bC とりあえずは即時関数で。
return &Profile{
mine: func() (m MyProfile) { m.SetProfile(arr["me"]); return }(),
yours: func() (y YourProfile) { y.SetProfile(arr["you"]); return }(),
}
return &Profile{
mine: func() (m MyProfile) { m.SetProfile(arr["me"]); return }(),
yours: func() (y YourProfile) { y.SetProfile(arr["you"]); return }(),
}
595デフォルトの名無しさん
2016/06/11(土) 12:57:03.40ID:5N4sydIU >>594
ありがと
本当に助かりました
自分には浮かばない発想でした
しかし、一つ聞きたいのは、
func NewProfile(arr map[string]map[string]interface{}) *Profile {
var m MyProfile
var u YourProfile
return &Profile{
mine: m.SetProfile(arr[
ありがと
本当に助かりました
自分には浮かばない発想でした
しかし、一つ聞きたいのは、
func NewProfile(arr map[string]map[string]interface{}) *Profile {
var m MyProfile
var u YourProfile
return &Profile{
mine: m.SetProfile(arr[
596デフォルトの名無しさん
2016/06/11(土) 12:58:26.45ID:5N4sydIU >>594
ありがと
本当に助かりました
自分には浮かばない発想でした
しかし、一つ聞きたいのは、
func NewProfile(arr map[string]map[string]interface{}) *Profile {
var m MyProfile
var u YourProfile
return &Profile{
mine: m.SetProfile(arr['me']),
yours: u.SetProfile(arr['you']),
}
}
はダメなのに、なぜ
func NewProfile(arr map[string]map[string]interface{}) *Profile {
return &Profile{
mine: func() (m MyProfile) { m.SetProfile(arr['me']); return }(),
yours: func() (u YourProfile) { u.SetProfile(arr['you']); return }(),
}
}
は可能なのかな、と
SetProfile()自体が関数なのに、なぜわざわざ無名関数使って内包したSetProfile()を呼び出さないと上手くいかないんですかね?
ありがと
本当に助かりました
自分には浮かばない発想でした
しかし、一つ聞きたいのは、
func NewProfile(arr map[string]map[string]interface{}) *Profile {
var m MyProfile
var u YourProfile
return &Profile{
mine: m.SetProfile(arr['me']),
yours: u.SetProfile(arr['you']),
}
}
はダメなのに、なぜ
func NewProfile(arr map[string]map[string]interface{}) *Profile {
return &Profile{
mine: func() (m MyProfile) { m.SetProfile(arr['me']); return }(),
yours: func() (u YourProfile) { u.SetProfile(arr['you']); return }(),
}
}
は可能なのかな、と
SetProfile()自体が関数なのに、なぜわざわざ無名関数使って内包したSetProfile()を呼び出さないと上手くいかないんですかね?
597デフォルトの名無しさん
2016/06/11(土) 13:19:00.18ID:ncrPm/bC 色々書き換えたバージョン
http://ideone.com/5rnnHW
http://ideone.com/5rnnHW
598デフォルトの名無しさん
2016/06/11(土) 13:26:31.32ID:ncrPm/bC >>596
m.SetProfile(arr['me'])
この場合、副作用だけ(オブジェクトに値がセットされるだけ)なので、
return m とする(オブジェクトを返す)必要があるのです。
とは言うものの、SetProfile はメソッドではなく通常の関数でも良いのでは?
と思ったので http://ideone.com/5rnnHW ではそうしています。
m.SetProfile(arr['me'])
この場合、副作用だけ(オブジェクトに値がセットされるだけ)なので、
return m とする(オブジェクトを返す)必要があるのです。
とは言うものの、SetProfile はメソッドではなく通常の関数でも良いのでは?
と思ったので http://ideone.com/5rnnHW ではそうしています。
599デフォルトの名無しさん
2016/06/11(土) 13:44:39.08ID:5N4sydIU600デフォルトの名無しさん
2016/06/11(土) 14:12:16.15ID:JfIPVaDb >>590
func NewHuman(name string, jobname string, position string) Human { return Human{ 〜
としても動くけど、これだと値渡しになって
h1 := NewHuman("Shinzou Abe", "politician", "prime minister") 呼んだときにも
中で1回コピー起こって無駄だから参照渡しにするってことでいいの?
func NewHuman(name string, jobname string, position string) Human { return Human{ 〜
としても動くけど、これだと値渡しになって
h1 := NewHuman("Shinzou Abe", "politician", "prime minister") 呼んだときにも
中で1回コピー起こって無駄だから参照渡しにするってことでいいの?
601デフォルトの名無しさん
2016/06/11(土) 22:32:52.72ID:oEY46iar Javaで言う、ScannerのNextInt()みたいなのってGoには無いの?
bufioのText()しか調べても出てこないんだけど、これを型キャストしろってことなのかな?
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
n := scanner.Text()
これをn.(int)って感じ?
bufioのText()しか調べても出てこないんだけど、これを型キャストしろってことなのかな?
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
n := scanner.Text()
これをn.(int)って感じ?
602デフォルトの名無しさん
2016/06/11(土) 23:01:07.51ID:oEY46iar 型キャストというより、ParseInt()だね、ごめん
603デフォルトの名無しさん
2016/06/17(金) 15:30:55.46ID:De9+BeR4 出た。
プログラミング言語Go
Alan A.A. Donovan, Brian W. Kernighan 著
柴田芳樹 訳
発行元:丸善出版(株)
プログラミング言語Go
Alan A.A. Donovan, Brian W. Kernighan 著
柴田芳樹 訳
発行元:丸善出版(株)
604デフォルトの名無しさん
2016/07/10(日) 22:27:22.81ID:znpcZSb6 var t *time.Time = & time.Now()
とやると
cannot take the address of time.Now()
って出るんですけどなんでダメなのか教えて下さい
とやると
cannot take the address of time.Now()
って出るんですけどなんでダメなのか教えて下さい
605デフォルトの名無しさん
2016/07/15(金) 07:53:12.02ID:nL6yLCLX >>604
t := time.Now()
t := time.Now()
606デフォルトの名無しさん
2016/07/15(金) 11:24:05.90ID:tpc0LssI t := & time.Time{}
や
ts := time.Now()
t := &ts
みたいにアドレスで変数に保管したいってことだろ
ttps://golang.org/ref/spec#Address_operators
言語仕様上、&演算子が変数か構造体(のコンストラクタ)しか認めてない感じ?
実態の持ち主が行方不明になる可能性があってGCが動かなくなるのかねぇ
や
ts := time.Now()
t := &ts
みたいにアドレスで変数に保管したいってことだろ
ttps://golang.org/ref/spec#Address_operators
言語仕様上、&演算子が変数か構造体(のコンストラクタ)しか認めてない感じ?
実態の持ち主が行方不明になる可能性があってGCが動かなくなるのかねぇ
607デフォルトの名無しさん
2016/07/17(日) 03:13:59.59ID:rRft+gba ポケモンGOとコラボしてGopher出してもらおうぜ
このビッグウェーブ、乗るしかない
このビッグウェーブ、乗るしかない
608デフォルトの名無しさん
2016/07/17(日) 17:14:53.70ID:Nge5kW2D Gopher君がswiftするのか
609デフォルトの名無しさん
2016/07/18(月) 12:14:48.69ID:nr1pGxnF Golangius II 〜Gopherの野望〜
610デフォルトの名無しさん
2016/07/20(水) 00:44:12.39ID:7krjkQOF 1.6.3が出てた
611デフォルトの名無しさん
2016/07/20(水) 21:59:45.12ID:ZQpbH517 golang でWeb開発してる人にお聞きしたいんですけど
db周りってどうしてますか?
tableごとに構造体を用意した場合、単純に1tableをSELECTする分にはなんの問題もないんでしょうけど
joinしまくってた場合、各クエリごとに構造体を作ってる感じでしょうか?
そんなのだるいですよね。
どうしてるのか教えて下さい。
db周りってどうしてますか?
tableごとに構造体を用意した場合、単純に1tableをSELECTする分にはなんの問題もないんでしょうけど
joinしまくってた場合、各クエリごとに構造体を作ってる感じでしょうか?
そんなのだるいですよね。
どうしてるのか教えて下さい。
612デフォルトの名無しさん
2016/07/21(木) 18:53:09.50ID:Vj/xPVWN mongoDB
613デフォルトの名無しさん
2016/07/22(金) 08:29:35.69ID:eNFBzZ6U golangとかgo言語をスレのタイトルにしないとググりづらいな。
614デフォルトの名無しさん
2016/07/22(金) 13:59:08.89ID:f6dSUOKk pokemon Go Go
615デフォルトの名無しさん
2016/07/22(金) 14:02:04.61ID:hQsD+JBa Go の偽物出まくってるなω
616デフォルトの名無しさん
2016/07/23(土) 14:35:34.70ID:6lYjBmg5 Ninjin Go
617デフォルトの名無しさん
2016/07/25(月) 01:34:14.20ID:gKUS+J/f (´・ω・`)スキーマを作るツールで構造体を更新してる
618デフォルトの名無しさん
2016/07/25(月) 09:12:05.48ID:aFElPnA5 それってxoのことです?
SELECTの時はどうしてます?join禁止?
SELECTの時はどうしてます?join禁止?
619デフォルトの名無しさん
2016/07/25(月) 09:19:11.89ID:l5ht4z0Z selectするカラムのサイズのインターフェース型の配列を作って渡すじゃだめなの?
620デフォルトの名無しさん
2016/07/25(月) 10:20:31.42ID:RKFFw9Lx コードをチェックするときに
gofmtとgolintを設定したんですが両方共エラーがあった時に同じエラーを吐きます
どっちか一つでチェックさせれば良いんでしょうか?
gofmtとgolintを設定したんですが両方共エラーがあった時に同じエラーを吐きます
どっちか一つでチェックさせれば良いんでしょうか?
621デフォルトの名無しさん
2016/07/26(火) 12:09:28.79ID:oKnTJYes622デフォルトの名無しさん
2016/07/29(金) 12:02:23.83ID:eVXiLh5P github死んだらgoどうなってしまうん?
623デフォルトの名無しさん
2016/07/29(金) 16:21:55.80ID:vOn8ke2v 進化して gone になるよ
624デフォルトの名無しさん
2016/08/03(水) 12:29:51.75ID:48QXmcl+ この言語についてすこし気になっています。
例えばC言語のようにビット単位での操作などはできますか?
言い換えると、組み込みやOSカーネルのプログラミングなどは視野にあるのでしょうか?
またはC言語を完全に置き換える存在になりえますか?
例えばC言語のようにビット単位での操作などはできますか?
言い換えると、組み込みやOSカーネルのプログラミングなどは視野にあるのでしょうか?
またはC言語を完全に置き換える存在になりえますか?
625デフォルトの名無しさん
2016/08/03(水) 13:17:02.98ID:mbys/AN5 goよりgithubの方が長生きするんでね
626デフォルトの名無しさん
2016/08/03(水) 13:18:36.00ID:mbys/AN5 >>624
Windows用のDLLがc-sharedで作れるようになればなー
Windows用のDLLがc-sharedで作れるようになればなー
627デフォルトの名無しさん
2016/08/03(水) 23:48:20.25ID:MhEWRRuh628デフォルトの名無しさん
2016/08/04(木) 01:10:59.73ID:BIHJkeI+ GC前提っていうけど、objective-cやswiftみたいにARCでリソース解放してやることはできないのかな?
629デフォルトの名無しさん
2016/08/04(木) 11:14:28.20ID:Ul5WpRfd630デフォルトの名無しさん
2016/08/04(木) 11:56:34.90ID:8anV95gh gokiburi
631デフォルトの名無しさん
2016/08/04(木) 11:58:01.10ID:8anV95gh OSだってそれ自身でGCやってるしなー
作業中にいきなり固まってHDDゴロゴロ言わせて
時計も止まってマウスも動かない
30分くらい放置してたら治ったり
作業中にいきなり固まってHDDゴロゴロ言わせて
時計も止まってマウスも動かない
30分くらい放置してたら治ったり
632デフォルトの名無しさん
2016/08/04(木) 12:59:03.09ID:SddwJFqD GCはオプションではないようですね。
もうすこし調査が必要なようです。
ありがとうございました。
もうすこし調査が必要なようです。
ありがとうございました。
633デフォルトの名無しさん
2016/08/05(金) 10:46:10.99ID:DVDTMi5M >>631 それスワッピングだろ
634デフォルトの名無しさん
2016/08/05(金) 10:46:42.21ID:DVDTMi5M swappingをカタカナで書いたらあぼーんされた
635デフォルトの名無しさん
2016/08/05(金) 11:02:44.30ID:h08emFzO636デフォルトの名無しさん
2016/08/05(金) 13:39:10.50ID:r9Q5JMfz ちょっとだけスレ違いかもだけど
kindle unlimitedとかいう電子書籍読み放題プラン始まって
技術書みてたらgoの入門書1.6対応版みつけた。
ttps://www.amazon.co.jp/dp/B01FH3KRTI/ref=cm_sw_r_tw_dp_x_TwbPxbN1BHQKM
結構読みやすい。
kindle unlimitedとかいう電子書籍読み放題プラン始まって
技術書みてたらgoの入門書1.6対応版みつけた。
ttps://www.amazon.co.jp/dp/B01FH3KRTI/ref=cm_sw_r_tw_dp_x_TwbPxbN1BHQKM
結構読みやすい。
637デフォルトの名無しさん
2016/08/06(土) 00:06:34.76ID:ukQkptRq IT関連は今のところ、ほぼその本出してる翔泳社だけかな?
アメリカの方探してみたけど、そっちはどこも参加してない気がする。
アメリカの方探してみたけど、そっちはどこも参加してない気がする。
638620
2016/08/06(土) 17:15:53.39ID:TNYUaRVo どなたかおねがいします
639デフォルトの名無しさん
2016/08/06(土) 22:25:22.14ID:i/Otvl/9 Purpose
Golint differs from gofmt. Gofmt reformats Go source code, whereas golint prints out style mistakes.
https://github.com/golang/lint/blob/master/README.md
golintのreadmeでは、上のような説明になっていた。
こういう記事を参考にしてみるといいかも。
http://blog.amedama.jp/entry/2016/03/31/222050
Golint differs from gofmt. Gofmt reformats Go source code, whereas golint prints out style mistakes.
https://github.com/golang/lint/blob/master/README.md
golintのreadmeでは、上のような説明になっていた。
こういう記事を参考にしてみるといいかも。
http://blog.amedama.jp/entry/2016/03/31/222050
640デフォルトの名無しさん
2016/08/24(水) 21:36:46.93ID:JcWOBO6t loopのネストが多いと、go1.7で遅くなるらしい
SSAの関係で。
ttp://shinpei.github.io/blog/2016/08/13/what-ssa-brings-to-go-17/
俺のプログラムも遅くなった。。。orz
SSAの関係で。
ttp://shinpei.github.io/blog/2016/08/13/what-ssa-brings-to-go-17/
俺のプログラムも遅くなった。。。orz
641デフォルトの名無しさん
2016/09/18(日) 18:26:45.57ID:5S/llOjA Goの型システムが貧弱とかよくdisられるけど
ジェネリクスが無い以外はわりとイマドキな言語だと思う
interfaceは構造的部分型付けっぽいし
既存の型に別名付けて拡張出来るし
ジェネリクスが無い以外はわりとイマドキな言語だと思う
interfaceは構造的部分型付けっぽいし
既存の型に別名付けて拡張出来るし
642デフォルトの名無しさん
2016/09/18(日) 21:51:09.47ID:FLMBUfED まともなラムダ式もmap関数もない言語がイマドキ?
643デフォルトの名無しさん
2016/09/18(日) 22:41:40.24ID:20H6rWEl RoRライクなGoのWebFWで軽量なものはどれでしょうか?
イマドキではないな。
既視感あふれる感じ。
レシーバで関数書いていけるのが1番気持ちいい。気が狂ってからのLispみたい。
チャンネルは凄く楽だし。
>>641
ジェネリクス、あったら良いなと思うけど、無くても、型名にいちいち名前つけて、適当にインターフェイスに参加させていけば、割としっくりくるスライスになるよ。
既視感あふれる感じ。
レシーバで関数書いていけるのが1番気持ちいい。気が狂ってからのLispみたい。
チャンネルは凄く楽だし。
>>641
ジェネリクス、あったら良いなと思うけど、無くても、型名にいちいち名前つけて、適当にインターフェイスに参加させていけば、割としっくりくるスライスになるよ。
645デフォルトの名無しさん
2016/09/19(月) 15:39:21.23ID:yKbgweKY >>643
golang railsでググったら適当に出てくるけど調べたの?
golang railsでググったら適当に出てくるけど調べたの?
646デフォルトの名無しさん
2016/09/19(月) 16:25:57.74ID:UScDXP8E もちろん調べました。
revelとbeegoですね。
ただこれは重いらしいので、あと使用雑感とか日本人の意見を聞きたいのですが。
revelとbeegoですね。
ただこれは重いらしいので、あと使用雑感とか日本人の意見を聞きたいのですが。
647デフォルトの名無しさん
2016/09/19(月) 18:10:05.55ID:7Lx9kgsv >>644
一応ジェネリクスは検討中ではあるんだよね。
結構あったらいいのにという場面はある。
それ以外は割といい感じ。エコシステムがいい。Editorも今や静的言語のメリットちゃんと享受できるし。
VSCいい。
一応ジェネリクスは検討中ではあるんだよね。
結構あったらいいのにという場面はある。
それ以外は割といい感じ。エコシステムがいい。Editorも今や静的言語のメリットちゃんと享受できるし。
VSCいい。
648デフォルトの名無しさん
2016/09/19(月) 20:06:21.83ID:6UZeJb4L >>646
自分で使ってみればいいんじゃない
自分で使ってみればいいんじゃない
649デフォルトの名無しさん
2016/09/19(月) 20:43:34.00ID:UScDXP8E あ、このスレたってから3年もたってるんですね
サボって使用雑感なんて期待しちゃいけない感じか
しょうがないから自分で検証してみます
サボって使用雑感なんて期待しちゃいけない感じか
しょうがないから自分で検証してみます
650デフォルトの名無しさん
2016/09/19(月) 23:21:43.10ID:7Lx9kgsv651デフォルトの名無しさん
2016/09/20(火) 00:29:26.51ID:dodRqZqD サービスやってるとこので聞くのは、LL言語のフルスタックフレームワークから、SPAと軽量なapiサーバーへの移行みたいなのが多いイメージが。
なのでrubyからだと、sinatraっぽくmiddleware分離したいとか、migrationツールは別に用意みたいな話の方が多いかも。
http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-go-and-saved-our-sanity/
https://www.slideshare.net/yujiotani16/gorevel-51949206
https://developers.eure.jp/go-language/advent-calender-7/
なのでrubyからだと、sinatraっぽくmiddleware分離したいとか、migrationツールは別に用意みたいな話の方が多いかも。
http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-go-and-saved-our-sanity/
https://www.slideshare.net/yujiotani16/gorevel-51949206
https://developers.eure.jp/go-language/advent-calender-7/
652デフォルトの名無しさん
2016/09/20(火) 13:57:24.92ID:aC9BpWa+ ここまでGoogle社員の書き込み
653デフォルトの名無しさん
2016/09/21(水) 12:11:38.43ID:cQpnCnIx 重いらしいじゃなくて何で自分で試さないの?
654デフォルトの名無しさん
2016/09/21(水) 12:36:40.08ID:bQEJ8r3q 重いかどうかが問題になるレベルまで試すのは現実的に無理があるだろ
まあそもそもほとんどのアプリは使っている言語やフレームワークが重いかどうかが問題になる前に消えるわけだが
まあそもそもほとんどのアプリは使っている言語やフレームワークが重いかどうかが問題になる前に消えるわけだが
655デフォルトの名無しさん
2016/09/21(水) 13:18:40.11ID:WoI1CsQe どうせPとかRがつく言語からの乗り換えでしょ?
どれ使っても軽いって
どれ使っても軽いって
656デフォルトの名無しさん
2016/09/21(水) 13:40:44.80ID:K/wMuhbh >何で自分で試さないの?
比較対象がわからないからだろ
比較対象がわからないからだろ
657デフォルトの名無しさん
2016/09/21(水) 15:42:52.36ID:DBqUEw9E >>656
比較対象が何かわからないなら
awesome go とかで検索すればいいよ。
https://github.com/avelino/awesome-go#web-frameworks
アホみたいにフレームワークがあるけど
比較対象が何かわからないなら
awesome go とかで検索すればいいよ。
https://github.com/avelino/awesome-go#web-frameworks
アホみたいにフレームワークがあるけど
658デフォルトの名無しさん
2016/09/21(水) 16:03:39.59ID:1PEot0Hq ID変えて自演してるような気もするけど
ベンチマーク取れば重いかどうか数字で表せるよね
ベンチマーク取れば重いかどうか数字で表せるよね
659デフォルトの名無しさん
2016/09/21(水) 16:57:31.37ID:/5f1YfeX 枯れ木も山の賑わい
660デフォルトの名無しさん
2016/09/21(水) 18:46:11.33ID:K/wMuhbh >>657
そのリストじゃRails風かどうかまではわからないからな
それを調べるためだけに1個ずつインストールしてまで使う労力を求めてる不親切なコミュニティだわ
まあそれが日本でのGoのあり方なんだろうが
そのリストじゃRails風かどうかまではわからないからな
それを調べるためだけに1個ずつインストールしてまで使う労力を求めてる不親切なコミュニティだわ
まあそれが日本でのGoのあり方なんだろうが
661デフォルトの名無しさん
2016/09/21(水) 20:55:56.41ID:WoI1CsQe キリッ
662デフォルトの名無しさん
2016/09/21(水) 21:15:31.01ID:DBqUEw9E663デフォルトの名無しさん
2016/09/21(水) 23:06:50.01ID:C/0XZtBi ActiveRecordのつくり込みしてない実装は意外と面倒だったりするんだけど、goで使ったことないのでわからん。
クエリービルダーなら何かあるかも。
複数テーブル使うこともないので、今のところDBまわりは簡単にDTOみたいな実装で済ましてる。
クエリービルダーなら何かあるかも。
複数テーブル使うこともないので、今のところDBまわりは簡単にDTOみたいな実装で済ましてる。
664デフォルトの名無しさん
2016/09/22(木) 01:47:25.32ID:QBrMY9aw 自分が欲しい物を他力本願で自分で調べない奴はプログラミングに向いてない
665デフォルトの名無しさん
2016/09/22(木) 02:57:18.49ID:nr+L07o8 そうですか
666デフォルトの名無しさん
2016/09/22(木) 08:30:29.12ID:hF82WAHq うむ
667デフォルトの名無しさん
2016/09/22(木) 10:18:25.14ID:7A/wc93b railsみたいなのがいいならrails使っとけばいいだろ?
なんでgolang使おうと思ってるの?
なんでgolang使おうと思ってるの?
668デフォルトの名無しさん
2016/09/22(木) 11:10:54.24ID:y4xL8ywB Goは基本的にCなので、ゼロから作りこむような複雑な処理がそのまま移植できる。
Rubyだと、extensionをCで書かないといけなくなる。
Rubyだと、extensionをCで書かないといけなくなる。
669デフォルトの名無しさん
2016/09/22(木) 11:24:25.38ID:sBPmoePF goでDB扱おうとすると動的言語のほうが楽だと痛感するけどね
単純なテーブルに対するcrudなら構造体作って対応できるけど
joinしたりとかすることも考慮するとそうも行かない。
素直にrailsでいいんじゃね
単純なテーブルに対するcrudなら構造体作って対応できるけど
joinしたりとかすることも考慮するとそうも行かない。
素直にrailsでいいんじゃね
ORM使うからじゃないの?
JOINして使う結果とJOINせず単独で使う結果はそれぞれ別の構造体になってしかるべきな気がする。
あんまRDB使わないけど。
集合検索結合集計なシステムと手続き型とオブジェクト型と関数型、どれ同士を組み合わせても、インピーダンスミスマッチは仕方ないんだから、どっちかで歩み寄らなきゃ何ともならんような。
階層型とばっかり組み合わせてるけど、言語側はわりと世代交代早いからDB側でストアド書いてるわ。
JOINして使う結果とJOINせず単独で使う結果はそれぞれ別の構造体になってしかるべきな気がする。
あんまRDB使わないけど。
集合検索結合集計なシステムと手続き型とオブジェクト型と関数型、どれ同士を組み合わせても、インピーダンスミスマッチは仕方ないんだから、どっちかで歩み寄らなきゃ何ともならんような。
階層型とばっかり組み合わせてるけど、言語側はわりと世代交代早いからDB側でストアド書いてるわ。
671デフォルトの名無しさん
2016/09/22(木) 15:05:14.76ID:Ob4qBdWH 時代はとっくにKVSですが
672デフォルトの名無しさん
2016/09/22(木) 15:18:49.00ID:W5CYuFDy KVSとRDBじゃ微妙に用途違うじゃん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- 高市が早くあの発言を撤回しないと、中国からもっと大きな制裁が飛んでくるぞ [805596214]
- 【動画】ファッションモデルまんこ、裸でランウェイを歩く。これがファッションだと言われて [749674962]
- 【画像】髙市さん「無職のシンママ支援を手厚くするため、世帯年収900万円以上の控除をカットします🙂」 [881878332]
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
