2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Go language part 1

1 :デフォルトの名無しさん:2013/10/10(木) 12:04:51.78 .net
Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。

2 :デフォルトの名無しさん:2013/10/10(木) 12:06:28.37 .net
公式ドキュメント
http://golang.org/doc/

日本語訳
http://golang.jp

3 :デフォルトの名無しさん:2013/10/10(木) 12:07:24.16 .net
おつおつ

早速だけどDartとはどう違うの?

4 :デフォルトの名無しさん:2013/10/10(木) 21:57:12.48 .net
1じゃなくて既にdat落ちしたスレがあったはず

5 :デフォルトの名無しさん:2013/10/11(金) 03:38:07.23 .net
go to the jukai

6 :デフォルトの名無しさん:2013/10/11(金) 18:13:03.60 .net
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

7 :デフォルトの名無しさん:2013/10/12(土) 20:03:04.02 .net
test

8 :デフォルトの名無しさん:2013/10/12(土) 20:41:16.44 .net
SDLとかQtとかGTKがしっかり使えるライブラリが出たら流行りそう

9 :デフォルトの名無しさん:2013/10/13(日) 19:51:55.28 .net
golangの有様だよ!

10 :デフォルトの名無しさん:2013/10/14(月) 03:46:46.20 .net
Go の宿題片付けます
http://toro.2ch.net/test/read.cgi/tech/1257968644/

11 :デフォルトの名無しさん:2013/10/14(月) 03:47:43.24 .net
GoがGoogleによって開発されたとか痛すぎだろ

12 :デフォルトの名無しさん:2013/10/14(月) 21:29:42.09 .net
おれが日本Golang界の神になる

13 :デフォルトの名無しさん:2013/10/18(金) 20:13:25.31 .net
import cycle not allowed ってなんだ?

14 :デフォルトの名無しさん:2013/10/18(金) 20:22:22.49 .net
A が B をインポートして B が A をインポートするアレじゃない? 循環インポート

15 :デフォルトの名無しさん:2013/10/26(土) 12:02:28.85 .net
未使用変数やインポートでコンパイルエラーになるのはビビる
ライブラリ周りが整ったら使ってみたいな

16 :デフォルトの名無しさん:2013/10/26(土) 12:44:50.43 .net
循環インポートがダメとか嫌だなあ

17 :デフォルトの名無しさん:2013/10/26(土) 13:37:33.48 .net
枯れてたり流行ってる言語ならスレも盛り上がるが
Goは新しいし情報があまり出回ってないっていうものあって
ブログとかSNSとかスライドとか発表会で発表したほうが名前が売れるから2ちゃんじゃ盛り上がらないだろうな
情報に精通してる人ならここも見てるはずなんだけどね

18 :デフォルトの名無しさん:2013/10/26(土) 14:04:00.67 .net
                                            糸冬
                                       ---------------
                                        制作・著作 NHK

19 :デフォルトの名無しさん:2013/10/27(日) 00:14:36.66 .net
例の10%の自由開発時間で作った成果物だから
あんまり積極的に開発継続しないんじゃないの?

20 :デフォルトの名無しさん:2013/10/27(日) 11:11:10.03 .net
儲かるビジネス(になれば)が出来ればすぐ本気出すよGは

21 :デフォルトの名無しさん:2013/10/27(日) 19:42:25.43 .net
でもすぐ投げ出すけどなGは

22 :デフォルトの名無しさん:2013/10/28(月) 11:34:18.97 .net
>>1
昔あったからpart1ではないな
2か3くらい

23 :デフォルトの名無しさん:2013/10/29(火) 06:25:30.21 .net
Gさいきんおかしいから距離置きたい

24 :デフォルトの名無しさん:2013/11/04(月) 17:48:37.72 .net
パッと見、for文すらヘンテコな記号がいっぱいでてきてロクに読めない
もうちょっと分かりやすくしてくれよ

こんな感じで書ける様に
for a = 0 while a < 100 step a++ do {
...
}
foreach a in 0..100 do {
...
}

25 :デフォルトの名無しさん:2013/11/04(月) 17:52:22.32 .net
むしろCっぽくてわかりやすいじゃん

26 :デフォルトの名無しさん:2013/11/07(木) 01:02:29.66 .net
D言語スレはちょくちょくレスあるのになんでGoはこんな過疎なの

27 :デフォルトの名無しさん:2013/11/09(土) 19:46:10.60 .net
リフレクションって構造体メンバ関数自体を値として取ること出来んの?
[key] = func
って感じに使いたいんだけど

28 :デフォルトの名無しさん:2013/11/10(日) 01:06:25.73 .net
ValueのMethodByNameかMethodじゃ駄目か?
関数そのものじゃ無いけどCallで実行できる

29 :デフォルトの名無しさん:2013/11/10(日) 12:21:03.86 .net
とりあえずGoの使いどころがわからない

30 :デフォルトの名無しさん:2013/11/10(日) 18:13:50.80 .net
ゴルーチンでお手軽マルチコアプログラミング

31 :デフォルトの名無しさん:2013/11/10(日) 18:50:31.27 .net
>>29
大規模開発だな。
言語仕様的に、別人が作ってしまって手が付けられないライブラリーでも
型がinterfaceに対応してないから、
委譲用のコード書かなきゃいけないとか、
ポインターに委譲するのに関数から同じ名前の関数に引き数を
渡す処理を書くとかしなくて済むようになってる。

32 :デフォルトの名無しさん:2013/11/12(火) 22:00:26.99 .net
俺は神の一手になれない

33 :デフォルトの名無しさん:2013/11/24(日) 15:44:05.14 .net
GoSFML2のサンプルをwindowsでコンパイルしたのですが
黒い窓が出てきてしまいます
オプションか何かで消すことは出来ますか?
また、そのようなオプションが無い場合は、何か他の手段で消すことは出来ますか?

34 :33:2013/11/24(日) 16:10:52.86 .net
自己解決しました

go build -ldflags "-H windowsgui"

で出来ました

35 :デフォルトの名無しさん:2013/12/02(月) 10:47:43.38 .net
Goのリファレンスドキュメントをネットのない環境でも参照できるよう、ローカルにダウンロードしておきたい。
でもGoのSDKに入っているドキュメントは、golang.orgに繋がることが前提のようだった。
リファレンスをローカルに落とす方法ってない?(wgetだとリンクが・・・)

36 :デフォルトの名無しさん:2013/12/02(月) 11:28:38.41 .net
自己レス
>>35
godoc -http :6060 &
open http://localhost:6060/
でいけた。ちょっとめんどいけど、まあいいや。

37 :デフォルトの名無しさん:2013/12/03(火) 22:24:45.52 .net
>>36
インストールしたサードパーティ製ライブラリのドキュメントも見れるから本家より便利

38 :デフォルトの名無しさん:2013/12/10(火) 11:52:24.39 .net
main.go:5:2: cannot find package "http" in any of:

何これ?標準でhttpパッケージ有るし
GorootのPathも通してんだけど

39 :デフォルトの名無しさん:2013/12/10(火) 12:01:53.25 .net
よく見たらhttp無かった…

40 :デフォルトの名無しさん:2013/12/10(火) 13:02:12.00 .net
これ全く触った事無かったら難しいな〜
まさかGitのインスコで失敗してたとは

41 :デフォルトの名無しさん:2013/12/10(火) 16:32:38.23 .net
import "net/http"の間違いでは

42 :デフォルトの名無しさん:2013/12/24(火) 21:37:47.88 .net
http://coin.nikkeibp.co.jp/coin/itpro/hansoku/nsw201402_1.html
>C言語代替で「Go」の時代が来る

ついに俺たちの時代が来るのか・・・!!!!!

43 :デフォルトの名無しさん:2014/01/01(水) 01:50:29.98 .net


44 :デフォルトの名無しさん:2014/01/13(月) 12:16:17.91 .net
動的言語だけやってた僕が、38日間Go言語を書いて学んだこと - Qiita [キータ]
http://qiita.com/suin/items/22662f43b6a6e8728798

45 :デフォルトの名無しさん:2014/01/18(土) 23:16:04.50 .net
型宣言面倒臭い、と一度も思ったことがないな

46 :デフォルトの名無しさん:2014/01/20(月) 06:13:09.40 .net
go
http://unkar.org/r/tech/1257920595/ 2009年に華々しく初登場。3日で消化
Go part2
http://unkar.org/r/tech/1258183436/ まだまだ衰えず10日で消化
Go part3
http://unkar.org/r/tech/1259072043/ だいぶ落ち着いてきた3ヶ月で消化
Go part4
http://unkar.org/r/tech/1265620273/ ほぼ1年で消化。すっかり普通のスレに。
Go part5
http://unkar.org/r/tech/1327216227/ 17res。オワコン
Go 総合スレ
http://unkar.org/r/tech/1342535690 再建。しなかった。4resでアイちゃんフィニッシュ
Go の宿題片付けます
http://toro.2ch.net/test/read.cgi/tech/1257968644/ part1の頃立った残骸。

そして2013/10/10。何もなかったようにpart1で立て直す。
何も知らない情弱共が何も知らない顔で書き込み
結局即レスは回避したようだ。おめでとう。

47 :デフォルトの名無しさん:2014/01/20(月) 06:15:06.80 .net
×即レス
◯即死

48 :デフォルトの名無しさん:2014/01/20(月) 06:28:30.39 .net
Go 総合スレ
http://unkar.org/r/tech/1342535690 そもそも何が総合なのかわからなかった
                  知らないふりで書き込んで失敗した例

49 :デフォルトの名無しさん:2014/01/20(月) 09:45:34.40 .net
ここだけじゃなくて色んなスレ見てるけど、2ch全体が下火になってきてる

50 :デフォルトの名無しさん:2014/01/27(月) 13:00:41.91 .net
今年入ってからちょっと触ってるけど、これ結構いい感じだと思う
これが一番って感じにはならないかもしれないけどいくつか修得するうちの一つとしては薦められるようにはなってほしい

51 :デフォルトの名無しさん:2014/01/27(月) 13:15:20.02 .net
パッケージ次第で凄い可能性があると思う
ここがプロの仕事で素人はインポートしてチョロ書きするだけで良い

52 :デフォルトの名無しさん:2014/01/28(火) 20:05:28.35 .net
golang.jp全く更新されないね

53 :デフォルトの名無しさん:2014/02/01(土) 16:33:40.82 .net
os.NewFileってどうやって使うかわかる人いる?

54 :デフォルトの名無しさん:2014/02/02(日) 04:01:00.42 .net
syscallパッケージとかで得たfdがあるときに
第一引数にそれ、第二引数に保存先パスを渡して使うみたい
使ったことないけど

55 :デフォルトの名無しさん:2014/02/02(日) 14:58:49.44 .net
>>53
http://stackoverflow.com/questions/17605588/correct-usage-of-os-newfile-in-go
既にある、os.File 型でないファイルを、os.File 型でラップするための低レベル関数で、一般ユーザーの
利用を想定したものではないそうな。

56 :デフォルトの名無しさん:2014/02/03(月) 00:37:35.80 .net
サンクス

わからないままでも気にならない性格になりたい

57 :デフォルトの名無しさん:2014/02/07(金) 15:41:24.67 .net
たまにループの中で変数宣言して使ってるのを見かけるのですが
ループの度に初期化されて処理速度に影響がないのだろうかと
測ってみると殆ど影響がないようです

ループ内だけで使う物ならば、スコープ的にも積極的に
ループ内で宣言した方が良いのでしょうか?

58 :デフォルトの名無しさん:2014/02/07(金) 17:16:57.85 .net
むしろループ外で使わない変数は内部で宣言した方が速い

59 :デフォルトの名無しさん:2014/02/07(金) 19:04:19.54 .net
> ループの度に初期化されて処理速度に影響がないのだろうかと

決めつけず測定して確認したのは間違ってないけど、もうちょっとマクロに、
なんというかいちいち気にするまでもないムダをスルーする感覚を....
難しいかなぁ。

60 :デフォルトの名無しさん:2014/02/07(金) 23:37:47.28 .net
その感覚難しい

今もまたIF ElseとSwich Caseでどっちが速いのか気になってやっちゃうし
AppendのCapは指定しとく方が速いのか気になってやっちゃう
所詮素人が趣味で作ってるレベルなのでご容赦を

61 :デフォルトの名無しさん:2014/02/14(金) 17:23:52.61 .net
もうちょっと情報が欲しいな
基本的な事以外は全部手探りだから時間が掛かる

例えば、フィールドにスライスがある構造体で
構造体自体のスライスを作って増やしつつ
更にフィールドのスライスも増やす、とかさらっと書けない
試行錯誤で何とか出来たけど…

62 :デフォルトの名無しさん:2014/02/15(土) 12:25:15.98 .net
goのネーミングって日本語の五から来てるの?
C(四)の次のgo(五)という

63 :デフォルトの名無しさん:2014/02/15(土) 17:30:52.59 .net
>>60
>AppendのCapは指定しとく方が速いのか

これ要素追加が1万程度(Append1万回)なら
Cap指定しない方が僅かに速いか殆ど変わらない
どういう理屈でそうなんのか分からんけど

64 :デフォルトの名無しさん:2014/02/21(金) 12:13:52.04 .net
>>63
キャッシュが効いてるだけ
事前に要素数が分かっていればCap指定しないと値のコピーが繰り返されるので遅い

65 :デフォルトの名無しさん:2014/03/03(月) 11:19:34.46 .net
BreakeがSwichに効くのやめて欲しいわ
折角省略出来るようにしたんだから書いても同じ動作になるなら意味無いでしょ

66 :デフォルトの名無しさん:2014/03/09(日) 00:47:40.25 .net
わかる。for switch case ときてbreakしたらforから抜けるようにして欲しい

67 :デフォルトの名無しさん:2014/03/27(木) 00:35:35.75 ID:NajF0K82.net
初心者だけどstrings.Reader をio.Reader として渡せるって仕様としてどうなの
継承も何もしてないけどコンパイル時にチェックされてるの?

68 :デフォルトの名無しさん:2014/03/27(木) 01:03:43.90 ID:jrFRKAI8.net
別に結構な言語でioの継承なんだが、なんか問題ある?

69 :デフォルトの名無しさん:2014/03/27(木) 01:23:58.48 ID:NajF0K82.net
string.Readerはio.Readerを継承してるの?
io.Readerの条件を満たしてるとは書いてると思ったけど

70 :デフォルトの名無しさん:2014/03/27(木) 01:44:26.20 ID:NajF0K82.net
突っかかってるようで悪かった
継承がない言語でダックタイピングできる、つまり条件を満たしてるとどうやって確信できるかわからなかったんだ
標準ライブラリを読んでるんだけど型アサーションしてないから不安になってるだけ

71 :デフォルトの名無しさん:2014/03/27(木) 05:15:32.21 ID:syLidNhE.net
ある型がインタフェースを実装してるかは規定されてるメソッドがあるかどうかだけで決まる
Javaみたいに明示しない
ちなみにインタフェースを実装してるかどうかはコンパイル時に解決される
strings.ReaderだったらRead(p []byte) (n int, err error)を持ってることからio.Readerを実装しているといえる

もし実装できてないのにそのインタフェースに代入しようとしたらコンパイルエラー出るから試してみて
これが非明示的なのはGoの目玉の一つだから公式のドキュメントなりどっかのブログなり読んでね

72 :デフォルトの名無しさん:2014/03/29(土) 00:49:28.00 ID:a/9aD0gE.net
interfaceって構造的部分型付けって事でいいんかいな

73 :デフォルトの名無しさん:2014/04/06(日) 16:57:33.01 ID:MCAj6vro.net
全ての型はInterfaceを内包している

74 :デフォルトの名無しさん:2014/04/21(月) 10:58:39.64 ID:zriSdqBt.net
とりあえず、元の英語はなんだよ?

75 :デフォルトの名無しさん:2014/04/22(火) 00:56:19.23 ID:V38u3ZKO.net
http://golang.org/ref/spec#Struct_types
>A field declared with a type but no explicit field name is an anonymous field, also called an embedded field or an embedding of the type in the struct.

76 :デフォルトの名無しさん:2014/04/22(火) 09:36:11.23 ID:xnbqoEyH.net
じゃあ匿名フィールドにしよう(提案)

77 :デフォルトの名無しさん:2014/04/22(火) 12:08:13.66 ID:cWM9qn1m.net
無名じゃないか?

78 :デフォルトの名無しさん:2014/04/22(火) 19:04:17.16 ID:px+UMl9z.net
ちょっとしたコードを書いただけでもサイズが大きくなるのなんとかならんのかな

79 :デフォルトの名無しさん:2014/04/22(火) 20:04:18.23 ID:cWM9qn1m.net
全部スタティックリンクするからだから、理由があってのことなので

80 :デフォルトの名無しさん:2014/05/05(月) 21:06:28.33 ID:+tyXPhHV.net
故に組み込みには不向きだとどっかで見たな
将来改善されるのだろうか?

81 :デフォルトの名無しさん:2014/05/05(月) 23:06:49.70 ID:YuCWT0mm.net
むしろ組込み向けのほうがダイナミックリンクは避けたくないか?
Goが組込みに向いてるかどうかは別として。

82 :デフォルトの名無しさん:2014/05/08(木) 05:12:59.74 ID:5XLbD0ro.net
デバッグまともに出来るIDEあんのこれ?
32Bitで開発環境統一した方がいいんかな

83 :デフォルトの名無しさん:2014/05/18(日) 16:17:49.47 ID:mk6giDMC.net
Oracleとのアレでjavaやめてこっちくることはないかな

84 :デフォルトの名無しさん:2014/05/23(金) 23:43:10.01 ID:kqkMywsW.net
むしろdartじゃないか

85 :デフォルトの名無しさん:2014/05/24(土) 01:08:21.25 ID:uWBH7T6t.net
あれが、Googleが作った
プログラミング言語だよ。

ほらみて、ゴラン

86 :デフォルトの名無しさん:2014/05/24(土) 13:58:01.94 ID:35dvvibx.net
ファイルサイズが大きくなるのでこんなのが流行るのは困る
大手企業のプログラマーなら時間もあるし仕事で試しに導入するなんてことも余裕だけど
中小だとそんな余裕はない

87 :デフォルトの名無しさん:2014/05/24(土) 14:07:55.34 ID:hlo3j/US.net
ゴラン高原

88 :デフォルトの名無しさん:2014/05/25(日) 11:15:27.02 ID:bZpUSdHJ.net
goでファイルサイズが大きくなって困るのとか今時組み込みぐらいだろ。

89 :デフォルトの名無しさん:2014/06/06(金) 22:59:44.76 ID:a9mGSAin.net
C++は自分で一から書く文には問題ないけど、書き方が無茶苦茶な人から引き継いだ時が悲惨だった
そういうのがマシになりそうなコンパイラ言語だからこれ普及して欲しいんだけど、周りで扱ってる人ほとんどいないんだよなあ

90 :デフォルトの名無しさん:2014/06/06(金) 23:14:29.91 ID:fJT63IUR.net
リーディングコード読んでからGo書くとなるほどと思う事があった

91 :デフォルトの名無しさん:2014/06/06(金) 23:15:21.48 ID:fJT63IUR.net
リーダブルコードだったぉ

92 :デフォルトの名無しさん:2014/06/07(土) 00:31:14.08 ID:mUxFP0h6.net
>>91
どんまい

93 :デフォルトの名無しさん:2014/06/20(金) 14:52:51.87 ID:ltBAGUPz.net
go-gtk全然進んでないじゃん
やる気あんのかよ

94 :デフォルトの名無しさん:2014/06/20(金) 22:23:23.60 ID:QMkHcad5.net
windows環境でのGUIライブラリがもっと発展すれば普及もしそうなのにね
コンパイラ言語だし、仕様とかも結構気に入ってるからもっと頑張って欲しいんだけどなあ

95 :デフォルトの名無しさん:2014/06/21(土) 00:05:57.28 ID:UJNwDYla.net
windows環境ならWalk使えば良いんだけど、
リファレンスやチュートリアルが無いのが広まらない原因なのかなぁ。
サンプルは豊富なので機能は充分だと思うが。

96 :デフォルトの名無しさん:2014/06/21(土) 01:32:59.17 ID:5/17O7zj.net
クロスプラットフォームで動く定番のguiを我々は求めている

97 :デフォルトの名無しさん:2014/06/21(土) 01:55:32.09 ID:2OQISpPs.net
walk知らんかったけどmain見て萎えた
これをcoolって言っちゃってるひとって・・・

98 :デフォルトの名無しさん:2014/06/21(土) 14:08:11.15 ID:p8O6EEji.net
お、AndroidにGoサポート来る?

99 :デフォルトの名無しさん:2014/06/21(土) 20:56:12.02 ID:tQVBpUxD.net
Goでandroid開発できるなら覚えてもいい

100 :デフォルトの名無しさん:2014/06/21(土) 21:49:23.76 ID:53WiPR/D.net
>>96
ぼくも(´・ω・`)
もっとハッテンしてほしいお

101 :デフォルトの名無しさん:2014/06/21(土) 23:52:58.32 ID:kf4Mlylv.net
>>98
煽りじゃなくソース教えて。
今更だけど go ってほんと検索しずらい

102 :デフォルトの名無しさん:2014/06/22(日) 07:17:02.56 ID:41dfNV8s.net
https://docs.google.com/document/d/1N3XyVkAP8nmWjASz8L_OjjnjVKxgeVBjIsTr5qIUcA4
Javaを置き換えるわけじゃなくて、Android NDKをGoで使えるようにするみたい
ゲームみたいなものならGoだけで書けるようになるのかな

103 :デフォルトの名無しさん:2014/06/22(日) 12:52:07.50 ID:m/E1htcB.net
>>97
kwsk

104 :デフォルトの名無しさん:2014/06/24(火) 21:18:13.43 ID:UpeRHjTe.net
人がいないからあんち米すらでてこな

105 :デフォルトの名無しさん:2014/06/24(火) 22:05:30.11 ID:3jg/jifd.net
Go界隈で日本語コミュニティ必要ないからな
みんな英語できるだろうし

106 :デフォルトの名無しさん:2014/06/25(水) 09:55:43.67 ID:Z9ZnqfJz.net
コード見たら何やってるか大凡分かるって素晴らしいよね

107 :デフォルトの名無しさん:2014/07/04(金) 23:14:50.75 ID:4r2s5G7/.net
>>88 Androidって組み込みなんだけど。

108 :デフォルトの名無しさん:2014/07/05(土) 07:54:31.48 ID:fKreMhzC.net
>>107
アプリは組み込むでは無い

109 :デフォルトの名無しさん:2014/07/05(土) 14:32:15.90 ID:pTDYhgjU.net
>>108 環境的には組み込みソフトと同じだよ。
Hello World が、1MB何て許せるわけが無い。
基本ライブラリは端末組み込みで持つだろうから、Androidが標準装備すればもう少し小さくなるだろうが、今度はOSがでかくなる。

110 :デフォルトの名無しさん:2014/07/05(土) 14:41:39.27 ID:t0Gvg/Rs.net
気持ちはわからなくもないけどねえ
16Gや32Gストレージなんて当たり前なところで、OSが多少増えてどうこうと言われてもさすがに

111 :デフォルトの名無しさん:2014/07/05(土) 15:43:21.74 ID:pTDYhgjU.net
>>110 全てのアプリが何倍かの大きさになったら困るだろ?一つの話じゃ無いんだよ。
間、そんな事には成らないだろうがどのくらい大きくなるか未知数、今判断には時期尚早。

基本的には論外な大きさは悪

112 :デフォルトの名無しさん:2014/07/05(土) 16:47:01.80 ID:oA33QTWa.net
Androidでいろいろ作ってて感じるのは
今や主メモリやストレージを埋めるのは映像や音声のデータだっていう現実
コードが占める割合はかなり少なくなってきてる

113 :デフォルトの名無しさん:2014/07/05(土) 17:15:09.73 ID:5LgT0AK3.net
Android じゃないけど、自分の Ubuntu Linux 14.04(Intel 32bit CPU版) で
PATH にある実行形式ファイル(ELF, Dynamically linked executable)を調べ
てみると、

ファイル数: 1822
合計サイズ: 356 MB

「Hello World!」を表示するだけのプログラムサイズは(両方ともstrip済)、

C言語: 5532 B
Go言語: 1065264 B

これで単純な外挿計算を行うと 67 GB にもなるけど、そこまで膨れ上がる
ことはないでしょうね。ただ、「shared object ってステキ!」って感じはするw

114 :デフォルトの名無しさん:2014/07/05(土) 18:03:15.49 ID:cZxdkROZ.net
128GBしか無いからこんなのに無駄に容量使いたくない

115 :デフォルトの名無しさん:2014/07/05(土) 19:01:05.54 ID:9Der4WO0.net
Hello Worldから線形的に増えるわけじゃないけどね

116 :デフォルトの名無しさん:2014/07/05(土) 19:14:06.90 ID:oA33QTWa.net
>>113
各実行ファイルにgo用のランタイムがくっつくと考えると
356[MB] + 1822×(1065264[B] - 5532[B]) = 2.2[GB]じゃね?
実際はもうちょっと増えると思うが

117 :デフォルトの名無しさん:2014/07/05(土) 20:55:34.60 ID:5LgT0AK3.net
gccgo(v4.9) を使ってコンパイルしてみると 20KB 程度に納まった。
許容範囲?

118 :デフォルトの名無しさん:2014/07/05(土) 21:42:25.12 ID:tB+Rxz8c.net
100行にも満たないサンプル5個作っただけで1GB超えるとかバカかよ

119 :デフォルトの名無しさん:2014/07/05(土) 23:28:12.02 ID:rxWIrUjL.net
容量減らすためだけにポータビリティ捨てたくはないかな。

Rob PikeらはPlan 9の論文で動的リンクの問題点をあげつらってたから、
たぶん今後も静的リンクから変えない気がするし。

120 :デフォルトの名無しさん:2014/07/06(日) 00:34:38.00 ID:uI+Octwc.net
>>96 それってHTMLじゃないのか?

121 :デフォルトの名無しさん:2014/07/06(日) 08:10:08.75 ID:CKDdGv5O.net
やっぱそうなるのか
HTMLで描画の性能が出せるようになってきたから
ネイティブウィンドウに拘る必要は少なくなったのかな

122 :デフォルトの名無しさん:2014/07/08(火) 13:18:21.31 ID:7GlSfkMD.net
https://github.com/andlabs/ui
ここでも見とけよカス共

123 :デフォルトの名無しさん:2014/07/08(火) 13:19:55.85 ID:ISJLHJAp.net
宣伝うける

124 :デフォルトの名無しさん:2014/07/08(火) 13:58:51.40 ID:PfuPMxra.net
おお、すげー何これ素敵

125 :デフォルトの名無しさん:2014/07/09(水) 12:47:50.42 ID:CPsLRvzn.net
goが動かせるクラウドってGAEしかないよね

126 :デフォルトの名無しさん:2014/07/09(水) 13:53:57.91 ID:Fp2x5STj.net
GoがExperimentalでphpがPreviewってことはGo版の正規リリースはまだまだ先か

127 :デフォルトの名無しさん:2014/07/09(水) 14:56:08.07 ID:SDA1RKlK.net
goって存在価値あるのか? NaCl PNaCl で事足りるだろ。

言語を作りたいから作ったと言う自己満足だけでは?
これが有ると何が出来るようになったり,効率が良くなったりするのかな?
何がしたいの?

そういやDartも有るな。 あれはJavascriptの置き換えを狙ってるから目的がはっきりしてる。

128 :デフォルトの名無しさん:2014/07/09(水) 15:06:03.08 ID:V9xUyLw3.net
>>127
まったく意味不明だぞ
GoはNaClやPNaClと競合するものじゃない

129 :デフォルトの名無しさん:2014/07/09(水) 15:17:14.55 ID:SDA1RKlK.net
>>128 何がしたいの? NaClでサーバアプリも作らせたいようだけど。

130 :デフォルトの名無しさん:2014/07/09(水) 16:57:25.25 ID:PJoXQ8WY6
"Google Native Client" でサーバーアプリを作らせたいっていう意味が
全くわからないんだが、ソースを教えてくれない?

131 :デフォルトの名無しさん:2014/07/09(水) 22:41:26.96 ID:8SChLIyJ.net
ファイルサイズが大きい言ってるから、hello worldの実行形式をreadelfしたら使ってなさそうなシンボルがうじゃうじゃいたけど、まだいろいろ工事中なのかい?

132 :デフォルトの名無しさん:2014/07/16(水) 21:08:08.10 ID:YrYvz6dv.net
実行ファイルのサイズ見るだけで期待の新言語感が綺麗さっぱり消滅するよな
静的リンクだからで許されるサイズじゃねーだろ。

Goとは関係ないけど、JS界隈なんぞもたかだか数百数千行のJSをビルドするために
何十MBものnode_modules作るとか意味わからんし。言語のメリット投げ捨てとるわ

提言としては、今どきのプログラマ容量の感覚がおかしいので全員8ビット時代からやり直すべき
あるいは4Kとか64Kのメガデモでも作るとかな

133 :デフォルトの名無しさん:2014/07/16(水) 21:10:00.51 ID:ue0KWKB4.net
>>132
さっさと去れよ

134 :デフォルトの名無しさん:2014/07/16(水) 21:10:33.17 ID:YrYvz6dv.net
GoほどじゃないがRustもでかい。システムプログラミング言語としてやる気あるんかお前ら
C言語当分安泰だわ。

135 :デフォルトの名無しさん:2014/07/16(水) 21:26:57.08 ID:18iWZycG.net
>>132
node.jsにモジュール上げたときも外人もクレクレ厨ばっかりだったな

firefox は勝手にメモリ使いまくって
2GB以上になったとたん固まって落ちるし

136 :デフォルトの名無しさん:2014/07/16(水) 21:33:51.50 ID:YrYvz6dv.net
>>133に去れとか言われたのでもう少し粘着するよ。

ここに去年の12月のエントリがあるんだがな。
「Goのバイナリサイズは膨らみ続け、制御不能になりつつある」

Go Binary Sizes Are Growing out of Control ? Donat Studios
https://donatstudios.com/Golang-Binary-Sizes

追記がうける。これはGoが糞だとかそういう趣旨じゃない。私はGoを愛しているw
Redditでほのめかされてるように開発者が怠惰で無能と言っているわけじゃない云々w

言語の問題を指摘するためにこういう弁明をしなければならないこと自体糞だが、
恐ろしいのは、このrant以後も、バイナリサイズがさらに膨れ上がっていることだ。
設計上、思想上の欠陥があると見なすべきで
こういう明らかな問題点を見て見ぬふりする言語コミュニティに期待するかどうか。


俺はしないね。


フロッピー1枚に入らないHello Worldって何だよ。いやマジに。

137 :デフォルトの名無しさん:2014/07/16(水) 21:36:44.42 ID:18iWZycG.net
exerb

138 :デフォルトの名無しさん:2014/07/17(木) 00:03:14.51 ID:BuVewHPc.net
まぁ静的リンクすらわかってない奴だということはわかった

139 :デフォルトの名無しさん:2014/07/17(木) 06:43:50.83 ID:DnYQQN3M.net
わかってないのおまいだわ、上面だけ読んでレスやめとけw

140 :デフォルトの名無しさん:2014/07/17(木) 07:10:02.53 ID:/y/RnBj0.net
>>136

最近使ってるpecoのファイルサイズ見たら4.1MBだった。ちょっとしたツール系でこのサイズは・・・とか思ったけど、今どきメモリは4GB,8GBくらいあたりまえに載ってる時代だし、もう許すことにした

組み込みでは使えないってことだね

141 :デフォルトの名無しさん:2014/07/17(木) 08:38:37.24 ID:Emdyn2Mx.net
わかってるわかってないの水掛けこそ、上っ面の駄レスだろ
おかしいところを具体的に突いてやれば、言い返せないしこのスレの質向上にもなる

142 :デフォルトの名無しさん:2014/07/17(木) 09:31:32.17 ID:S5pGSZlh.net
そうだそうだ

143 :デフォルトの名無しさん:2014/07/17(木) 10:45:11.17 ID:h5c0LSEc.net
容量制限のあるクラウドとかVPSじゃ使えねえよ

144 :デフォルトの名無しさん:2014/07/17(木) 12:27:33.98 ID:q6z1PJAH.net
>>140 大きいと言う事は全てにおいて時間がかかると言う事なんだぞ。 つまりあらゆる面で生産性が低くなる。
そんな言語誰が使う。

作ってる奴がヘタレだとか基本設計自体に問題が有るとかさんざん言われてる。

145 :デフォルトの名無しさん:2014/07/17(木) 12:35:36.25 ID:sNTaX6ES.net
これね
http://s.kakaku.com/mag/pc/id=1676/
http://www.itmedia.co.jp/pcuser/spv/1407/17/news060.html
http://gigaz.in/1mOmuRj

146 :デフォルトの名無しさん:2014/07/17(木) 13:13:00.43 ID:Emdyn2Mx.net
誤爆?

147 :デフォルトの名無しさん:2014/07/17(木) 16:46:46.06 ID:MN+A29Er.net
Go は使う側にとって何かメリットをもたらすのか?

メリットが見えずにデメリットばかりが目立つ。
作る目的がはっきりしてい無いから何年経っても出来上がらないんだよ。

Swiftと大違い。あっちは公開前からブレークしてる。
沢山のメリットが誰の目から見ても明らかにわかるからだよ。

Go の公式REPLは有るんだっけ?

148 :デフォルトの名無しさん:2014/07/17(木) 18:42:53.14 ID:MN+A29Er.net
>>24 はい判りました。

for a in 0..<100 {
...
}

こんなんでました。 今注目の言語

149 :デフォルトの名無しさん:2014/07/17(木) 19:44:48.46 ID:S5pGSZlh.net
Swiftですやん

150 :デフォルトの名無しさん:2014/07/17(木) 19:58:44.51 ID:O9NXfjPR.net
 ―┼‐         ノ     /   |  --ヒ_/     /   \ヽヽ    ー―''7
   `」   ┼,   二Z二   レ   /  /´レ' \ ―7 ̄}  |  ー-、   /
 (__  (|フ)   (__ノ  _ノ  ∨`  ノ  /  /     _ノ    \_

    ─┼-        /   |   ‐┼-   |     ー|―
    ─┼─ |   \ レ  /   ̄Tー  /      ノ -─
   (二フヽ  \/    _ノ   (二フ\  ヽ_ノ   / 、__

     i';i
    /__Y
     ||真||                   /⌒彡
  _ ||露||         /⌒\     /冫、 ) ・・・・・・。
  \ ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄\ `./⌒ i `  /ゝ    _,,..,,,,_
  ||\`~~´  (十万石)     \( >     ('\\  ./ ,' 3 `ヽーっ ・・・・・・。
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄\`つ    ⌒ _) l   ⊃ ⌒_つ
     .|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||                `'ー---‐
( 'A) ・・・。 〃∩ ∧_∧        <⌒/ヽ___
/(ヘ)ヘ    ⊂⌒(  ・ω・) ・・・。  <_/____/ zzzz・・・
         `ヽ_っ⌒/⌒c

151 :デフォルトの名無しさん:2014/07/17(木) 23:26:36.96 ID:OTputfOO.net
そのうちhello worldで1GBを超えるバイナリを生成する言語が登場する

152 :デフォルトの名無しさん:2014/07/18(金) 07:16:09.83 ID:NmG7h+bv.net
googleが一番やりそうなこと

153 :デフォルトの名無しさん:2014/07/18(金) 08:06:18.24 ID:KrkzFLu9.net
最近のGoogleは自分で自分の首を絞め始めてる様に見えるな。
会社として収集がつかなくなってしまった感じ。

154 :デフォルトの名無しさん:2014/07/18(金) 09:03:19.13 ID:JbZ7Qo5I.net
いや昔からこのノリだけど
小さなグループ毎に好き勝手やってる感じ
むしろ最近は昔よりまとめようとしてる

155 :デフォルトの名無しさん:2014/07/18(金) 12:50:52.86 ID:DOB4ifCF.net
NaCl PNaCl > 速いスピード
Dart > Javascript の置き換え

Noop > Java VMで動く新言語、Oracleとの喧嘩用?

Go > 目的不明(サーバアプリ?)

上二つは上手くやれば美味しいものも見えるし、業界の方向性にもあっている。

Noopは保険みたいなものだろう。ユーザにとっては迷惑なだけ。

Go は美味しそうな匂いがし無い。 並列処理?他の言語より美味しいか?

156 :デフォルトの名無しさん:2014/07/18(金) 12:55:38.48 ID:hMlFBsak.net
匂いがしないなら使わなければいいんじゃない

157 :デフォルトの名無しさん:2014/07/18(金) 13:03:16.54 ID:xJrLNwHb.net
googleはトラフィックに無頓着なんだよな
自社でキャリア持たないからかな

158 :デフォルトの名無しさん:2014/07/18(金) 14:48:11.31 ID:g/ns370x.net
>>136 のC言語の経験がHello, world!留まりということはわかった。

159 :デフォルトの名無しさん:2014/07/18(金) 14:57:25.22 ID:cGkLMo0w.net
hello worldが大きくてもそれの数百倍の大きさのプログラムをコンパイルしたら
数百倍の大きさの実行ファイルが出来るわけでは無いだろ

160 :デフォルトの名無しさん:2014/07/18(金) 16:25:14.51 ID:QbsI88lJ.net
>>159
全然無い。>>136はHello, world!留まりの赤ちゃんが疳の虫でグズってるだけ

161 :デフォルトの名無しさん:2014/07/18(金) 22:10:34.84 ID:DOB4ifCF.net
>>156 ユーザにとって美味しい餌が無いと言語も流行らないんだよ。

なんで三項演算子( ? : ) すら作らないんだろう。文法に無駄が多い。

// 入力値iが正の整数の場合iの2乗が、iが0以下の整数の場合0が返されるfunction

// Go
func Fx(i int) (ret int) {
if i > 0 { ret = i*i } else { ret = 0 }
return;
}

// Swift 三項演算子
func fx( i: Int ) -> Int { return i > 0 ? i*i : 0 }

// Swift 三項演算子を使わない場合。
func fx( i: Int ) -> Int {
if i > 0 { return i*i } else { return 0 }
}

162 :デフォルトの名無しさん:2014/07/18(金) 22:51:20.66 ID:hMlFBsak.net
流行らなかったら何百(何千?)とあるプログラミング言語の一つが静かに
消えていくだけ。しかし三項演算子が美味しい餌ってのはワケが判らんなw

どうしても欲しかったらこんなのでもいいんじゃない

type Any interface{}

func T(exp bool, a Any, b Any) Any {
 if exp {
  return a
 }
 return b
}

もちろん、これは三項演算子モドキにもなっていないけど。
本物の三項演算子が必要なら src/cmd/gc/lex.c に追加する
なりしてもいいし

163 :デフォルトの名無しさん:2014/07/18(金) 22:51:30.47 ID:Mqs0/spS.net
3項演算子はレガシーコードだな
うんこが現れたと言うことはGoも注目されてるのか?

164 :デフォルトの名無しさん:2014/07/19(土) 05:03:22.62 ID:SmxhOcgK.net
goのほうが言語仕様的には美しくて無駄が少ないと思うけど

型についてレシーバ(メソッド)が付けられるからClassを削って構造体のみにしたって所とか、関数は複数の値を返せるから通常のtry-catchみたいな例外文法削ったりとか、intefaceの実装の自動化によるduck typingっぽい感じとか

SwiftはなんかまだObjective-Cのラッパーて感じ。
引数のラベル付とか。selectorが使える所とか。

165 :デフォルトの名無しさん:2014/07/19(土) 08:42:00.07 ID:JJLiNM0Q.net
まさに>>163
ってことなんだろうな

166 :デフォルトの名無しさん:2014/07/19(土) 09:59:22.84 ID:yYW1nc9J.net
とりあえずフレームワークを1つ覚えとけばいいかな

167 :デフォルトの名無しさん:2014/07/19(土) 13:50:20.51 ID:1hzYIwWV.net
>>164
>例外
例外文法削ったのではなく、例外自体削ったんだろ。パフォーマンス出すためにな
例外機構が必要な言語もある。

duck typingはSwiftの設計方針に合わない。goのinterfaceは面白いけど

>引数のラベル付き
これは他言語にもあるぞ。Rubyとか
引数後少なかったり、関数名から引数が明白な場合を除いてキーワード引数はわかりやすくて良いよ。

なんつーか、SwiftよりGoのが良いって前提で話してるよな。
どっちも良い所あるんだから、優劣付けずに話せばいいのに。

168 :デフォルトの名無しさん:2014/07/19(土) 14:16:07.12 ID:iWE1dx4J.net
>>161 の発言があっての話だからだろ

169 :デフォルトの名無しさん:2014/07/19(土) 14:19:18.94 ID:9ljzGYTI.net
>>164 例外を削除も、複数戻り値もSwiftは採用してるよ。

言語毎に色んな特徴は有るだろうけど、使用者にどんなメリットが有るかが一番大事だろうな。
どんなターゲットを対象にしているかとか。

170 :デフォルトの名無しさん:2014/07/19(土) 15:05:11.74 ID:SGq+lI7M.net
>>167,169
後の話はSwiftのスレでお願いしますね

171 :デフォルトの名無しさん:2014/07/19(土) 15:06:03.17 ID:9uryi8HE.net
>>169
そうそう、だから自分がいいと思う言語を使えばいいだけ、なのに、すごい低レベルなところで煽るやつは何を考えているのかと思う、が、いちいち相手にするレベルに至っていないのでスルーしとく

172 :デフォルトの名無しさん:2014/07/20(日) 23:08:04.42 ID:v/W32sJs.net
<-演算子を何て呼んでますか?

173 :デフォルトの名無しさん:2014/07/20(日) 23:21:11.04 ID:tRUHKzxS.net
アロー演算子
->
<-

174 :デフォルトの名無しさん:2014/07/20(日) 23:43:36.57 ID:v/W32sJs.net
>>173
そうなんだ
どうもありがとう

175 :デフォルトの名無しさん:2014/07/20(日) 23:45:46.75 ID:XMGxVSEA.net
一瞬「アフロ演算子」に見えたw

176 :デフォルトの名無しさん:2014/07/21(月) 16:07:42.61 ID:oivZnao6.net
Cだとアロー演算子って呼んでたけど
Goはチャネルオペレータって呼んでるな。

177 :デフォルトの名無しさん:2014/07/21(月) 17:41:17.08 ID:mYM6Tgvw.net
らむだ

178 :デフォルトの名無しさん:2014/07/21(月) 21:39:44.74 ID:PMvpzcGA.net
iotaの読みはイオタでいいの?
iotaって何から来てるの?

179 :デフォルトの名無しさん:2014/07/21(月) 21:54:45.83 ID:Syim72mM.net
>>178
ググれば出るだろボケナス

180 :デフォルトの名無しさん:2014/07/21(月) 22:02:32.32 ID:DpfIQ25M.net
井岡

181 :デフォルトの名無しさん:2014/07/21(月) 22:30:59.47 ID:F1AofNqF.net
APLのindex generatorのιだろ。
ぐぐらびりてぃの悪さでは定評がある知識だと思うが。

182 :デフォルトの名無しさん:2014/07/21(月) 22:34:55.66 ID:DpfIQ25M.net
iota の先頭文字は i で母音だから
不定冠詞を付けるときは
a じゃなくて an を付ける必要がある
つまり an iota としなければならない

183 :デフォルトの名無しさん:2014/07/21(月) 22:37:14.11 ID:B0QvoS4Q.net
アニオタ

184 :デフォルトの名無しさん:2014/07/22(火) 00:52:49.93 ID:Tqhjijck.net
>>181
APLのindex generatorよくわからんが、そんなところから来ていたのか〜
atoi, itoa系だとばかり思ってたわw
ありがとね

185 :デフォルトの名無しさん:2014/07/22(火) 01:56:11.63 ID:gLVnM0Vt.net
ギリシャ文字の読み方も知らんて厨房か

186 :デフォルトの名無しさん:2014/07/22(火) 09:46:04.54 ID:CpNP7/Sp.net
20行程度で2MB行くとかクソだな
200行で2GB使うのか?
ばかだろw
これじゃVPSでもクラウドでもすぐ容量いっぱいで使い物にならねえよ

187 :デフォルトの名無しさん:2014/07/22(火) 09:48:02.67 ID:A8dKNJDs.net
教えてくれ
どこから突っ込めばいい

188 :デフォルトの名無しさん:2014/07/22(火) 09:51:44.86 ID:gLVnM0Vt.net
printfもでかいけどprintfを100回呼んでも100倍のサイズにはならない
判り易く喩えるとこういうことです

189 :デフォルトの名無しさん:2014/07/22(火) 09:54:05.00 ID:A8dKNJDs.net
釣りじゃなければさんすうのお勉強が先かなと……

190 :デフォルトの名無しさん:2014/07/22(火) 10:22:55.44 ID:brrWCVo/.net
>>189 俺に算数教えてくれ。 1万行のサイズはいくつだ?

191 :デフォルトの名無しさん:2014/07/22(火) 10:27:27.42 ID:yyU5/kBu.net
1500行のプログラムで3MBくらいだな
1万行で何書くのか知らんけど、似たような呼び出しだと仮定すると
3MBくらいか

192 :デフォルトの名無しさん:2014/07/22(火) 10:39:49.89 ID:V18l0e57.net
vimでgo書く記事がどれもふるいのばっかりでダメだな

193 :デフォルトの名無しさん:2014/07/22(火) 11:41:55.36 ID:brrWCVo/.net
>>191 算数大丈夫か?

194 :デフォルトの名無しさん:2014/07/22(火) 17:18:55.96 ID:cFa+HftP.net
>>19 なあんだ、文化祭の出し物か。
そう言えば、Noop なんてだし物もあったな。

195 :デフォルトの名無しさん:2014/07/22(火) 20:32:55.34 ID:r3GUCDVw.net
自分で書いたコード400行、標準ライブラリ10個、外部ライブラリ4個で4MBぐらいだったわ

196 :デフォルトの名無しさん:2014/07/23(水) 10:54:58.68 ID:7MX9nHNJ.net
goをvimで書いてるけどやっぱgocodeが導入は楽だな

197 :デフォルトの名無しさん:2014/07/23(水) 11:46:22.33 ID:vbN86xg+.net
goぐらいはmattnさんの使ってあげなよ

198 :デフォルトの名無しさん:2014/07/23(水) 11:53:15.04 ID:7MX9nHNJ.net
ソフトウェア板で書いたけど人いないから
http://anago.2ch.net/test/read.cgi/software/1379912425/658
http://anago.2ch.net/test/read.cgi/software/1379912425/659
http://anago.2ch.net/test/read.cgi/software/1379912425/660
http://anago.2ch.net/test/read.cgi/software/1379912425/661

199 :デフォルトの名無しさん:2014/07/23(水) 11:55:04.11 ID:7MX9nHNJ.net
:Importと:GoImportは勘違いでした

200 :デフォルトの名無しさん:2014/07/23(水) 12:38:54.74 ID:WJZjj5QG.net
golang.jpみたいに一人でも全部翻訳はできてるのに
golang-jp.org全然翻訳進まんな
名前ばかりの幽霊部員しかいないのか

201 :デフォルトの名無しさん:2014/07/23(水) 21:59:22.64 ID:WjYeQVNK.net
と思ってる奴が参加するのが良い

202 :デフォルトの名無しさん:2014/07/23(水) 22:03:23.63 ID:VI4LJie1.net
ろくに翻訳活動もしてないのに肩書きとして「golang-ja.orgで翻訳活動をしております」って名乗るのはいかがなものかな

203 :デフォルトの名無しさん:2014/07/23(水) 23:42:01.46 ID:VI4LJie1.net
goは簡単なバッチ処理をするようなプログラムを作るのには向いてないね
ビルド後のファイルサイズが気になる

204 :デフォルトの名無しさん:2014/07/24(木) 00:30:01.41 ID:znT0d1Bl.net
たしかに気にはなるけど
採用されない理由がそれだけのプロジェクトも想像できない

205 :デフォルトの名無しさん:2014/07/24(木) 11:10:30.02 ID:Ye3LEDYl.net
>>203
むしろバッチ処理得意じゃないかと思うんだが。
APIを何万回も叩いて結果をDBに格納するみたいなバッチ処理を書いた時に
チャネルを使うと素晴らしく綺麗に並列化できて感動したんだよね。

206 :デフォルトの名無しさん:2014/07/24(木) 11:45:59.80 ID:lbRXz+ac.net
>>205
>>203が言ってるのはバッチ処理というより単機能の小さいコマンドみたいなもののことでしょ。
自分らが~/binにたくさんおいてあるbashスクリプトレベルの。

そもそもこのコンパイラは常駐アプリケーションを作るための設計すぎて、実行時間がある程度長くないと無駄なのは事実。
とは言えいい言語だからそういうシンプルな機能を作るためにも使いたい。
使い終わったらプロセスごと落としてくれればいいからGCとかいらないし。

207 :デフォルトの名無しさん:2014/07/24(木) 12:12:06.82 ID:Qa9ovyB3.net
bsd って何の略ですか

208 :デフォルトの名無しさん:2014/07/24(木) 12:22:50.32 ID:wjmCoo/j.net
BuShiDou

209 :デフォルトの名無しさん:2014/07/24(木) 16:17:04.74 ID:GSXF8hON.net
golang.jp を見て見たが、ちょっと最初の構想から外れてるみたいな気がする。
インタプリタみたいな軽量な言語を目指したと言うが、REPLすらないってどう言う事?
サードパーティの物をちらっと見た覚えは有るが、最近目立たないな。

REPLがあれば取り敢えず簡単なスクリプト処理的な物はこなせるけど、いちいちコンパイルGOじゃ面倒臭い。

ジェネリックもいずれ入れると言ってるがもう何年も経つのに入らないってどう言うこと? 設計上無理が有るのでは?
今は色んな面で言語的にはかなり低級に思える。

210 :デフォルトの名無しさん:2014/07/24(木) 16:21:26.89 ID:hD2YGPYI.net
golangってインタプリタとして使えなかった?

211 :デフォルトの名無しさん:2014/07/24(木) 16:22:41.66 ID:r6QGED5m.net
go run helloworld.go

212 :デフォルトの名無しさん:2014/07/24(木) 16:23:12.99 ID:r6QGED5m.net
buildさえしなければhddを圧迫することはないだろう

213 :デフォルトの名無しさん:2014/07/24(木) 16:35:20.39 ID:GSXF8hON.net
>>211 それは単なるコンパイル& Go

214 :デフォルトの名無しさん:2014/07/24(木) 16:39:29.49 ID:r6QGED5m.net
え?インタプリタはコンパイルしないと思ってるの?phpもrubyもpythonもコンパイルするんだよ?

215 :デフォルトの名無しさん:2014/07/24(木) 16:44:21.40 ID:GSXF8hON.net
>>214 広い意味でのインタプリタはそうだけど、そんな事言ったらJavaですらインタプリタと言い出すだろ。

本来の意味のインタプリタは、1行書いたら即実行が本来だよ。
コンパイルしようがどうしようが良いが、書いたら実行。これがインタプリタ。

perlなんかよりREPLの方がよほどまし。

216 :デフォルトの名無しさん:2014/07/24(木) 16:46:57.30 ID:GSXF8hON.net
>>214 それに>>212 は全くのコンパイルじゃ無いか。
どこにインタプリタ的な要素が匂うんだ?


例えば、100行位のプログラムを書き始めたとして、>>212はいつ実行出来るんだ?
アホなこと言うな。

217 :デフォルトの名無しさん:2014/07/24(木) 16:47:30.54 ID:GSXF8hON.net
>>211の間違い

218 :デフォルトの名無しさん:2014/07/24(木) 17:50:00.05 ID:9dmhGPAk.net
定義的にインタプリタであるかどうかにこだわる意味がわからん。
コンパイルが十分に速くてエディタの支援があれば事実上同じ。

219 :デフォルトの名無しさん:2014/07/24(木) 17:59:05.81 ID:GSXF8hON.net
>>218 解らんかな? 例えばインタプリタなら
>>218 と会話的にプログラム出来る。

コンパイル方式だと、>>218の発言を知ってから全ての218の行動を予測しながらプログラムを書かざるを得無い。 どれだけ膨大なプログラムになるかわかるか?

例えば今日台湾の航空機墜落事故のニュースを知ってから、それに関連したプログラムをするのと、
全く知らずに何年も前から予測してプログラムするのでどれだけ大きな差が有るのか解らんかな?

220 :デフォルトの名無しさん:2014/07/24(木) 18:05:42.50 ID:GSXF8hON.net
>>218 ま、いいや、golangで1行ずつコンパイルして結果が見えるのならそれで良い。

#今いるディレクトリは?
--gogo
#ls
--
#cd xxx

221 :デフォルトの名無しさん:2014/07/24(木) 18:14:26.23 ID:kMqjarS79
全くわからん

現にGoのチュートリアルはWeb上で実行できるわけだし、
そこにインタプリタとコンパイルの違いなんて見えないというかどうでも良いわ

てか、対話的にプログラムを書くのは、要するにちょこちょこ機能を試したいとき
でしょ?それとも、大きなプログラムを本当に対話的に書くの?N88ベーシックかよ

222 :デフォルトの名無しさん:2014/07/24(木) 18:10:26.83 ID:znT0d1Bl.net
ニュースの例えは効果的ではなかったな

223 :デフォルトの名無しさん:2014/07/24(木) 18:13:08.35 ID:KnMb6PXS.net
もう少し分かり易く説明して欲しい

224 :デフォルトの名無しさん:2014/07/24(木) 18:17:36.20 ID:FJ9KFXdp.net
そもそもgoはc++の置き換えを狙ったガッツリコンパイル言語目指してたと思うが
インタプリタの話はどっから出てきたのだろうか。

225 :デフォルトの名無しさん:2014/07/24(木) 18:18:07.34 ID:hD2YGPYI.net
読込み -> 中間式生成 -> 実行 -> 結果表示
こういう流れなら中間式がなんであれインタプリタでよくないか

226 :デフォルトの名無しさん:2014/07/24(木) 19:31:52.41 ID:j9Fzrf/Q.net
対話式の環境が使いたいならscalaでも使えばいいんじゃねえの?
コンパイルくっそ遅いけど

227 :デフォルトの名無しさん:2014/07/24(木) 19:35:29.67 ID:eQap2LAf.net
ClojureとかGroovyとかもJVM系の言語はコンパイルしてから実行するのに凄い時間がかかるな
REPL的な環境使うと捗る

228 :デフォルトの名無しさん:2014/07/24(木) 21:13:03.11 ID:3xYKvkhO.net
>>224
http://golang.jp/go_faq
新しく言語を作った理由は?

Go言語は、インタプリタ言語のプログラミングの容易さと、動的型言語の効率、コンパイル言語の静的な型の安全性を併せ持つことを目指しました。

229 :デフォルトの名無しさん:2014/07/24(木) 22:11:05.80 ID:3xYKvkhO.net
>>225 Javaは含めたく無いな。 インタプリタは、基本的にソースコードをそのまま配布する物。
配布されたソースを変更すれば即座に実行出来る物。

230 :デフォルトの名無しさん:2014/07/24(木) 22:34:04.45 ID:xmULRajC.net
>>219
REPLが備わってる言語だと
1行ずつ試しながらプログラムを書けるのが良いっていう主張なんかな
コンパイル方式だと、ある程度まとまった量を書くまで
プログラムの挙動の確認ができないからダメだと

ちょっと興味あるから良かったらもう少し分かりやすく説明してほしいんだが

231 :デフォルトの名無しさん:2014/07/24(木) 23:08:29.15 ID:ZKlJlp/g.net
つまり軽い気持ちでインタプリタという言葉を使ってしまったら
インタプリタに思い入れの有りすぎる人が騒ぎだしたって話か。

232 :デフォルトの名無しさん:2014/07/24(木) 23:30:45.74 ID:3xYKvkhO.net
>>230
例えば、
system("ls")
でカレントディレクトリ内のファイルを見て、ファイルが有るのを確認してファイルを読み込むとか。
周りの環境が不確かでも確認しながらコーディングを進めて行くことが出来る。

試行錯誤が入る様な場合には力を発揮する。

パラメータを変えながらのテストプログラムとか。

とは言っても、一般的にREPLが力を発揮するのはコーディング時に結果を確認しながら進めていけることだろうな。 バグの少ないプログラムが書ける。

例 Java REPL
http://calms.hatenablog.com/entry/2014/03/20/215529

233 :デフォルトの名無しさん:2014/07/24(木) 23:38:19.65 ID:ZKlJlp/g.net
>>232
お前の言いたいことはよくわかったが残念ながらgoは最初の最初からc++後継のガッツリコンパイル言語だ。
REPLなんて全く意識してない。

そこに書いてあるインタプリタがうんたらかんたらはPythonの手軽さり入れてますよくらいの意味だ。

234 :デフォルトの名無しさん:2014/07/25(金) 00:07:36.47 ID:VLfrDabm.net
>>233 C++ ですら、CINTや、LLVM でのREPLが有るのに、なんでやらないんだろう?
言語と同等に重要だと思うけどな。

その前にジェネリックとかやることが山積みで残ってるからかもしれ無いが。

235 :デフォルトの名無しさん:2014/07/25(金) 00:20:30.83 ID:0UOGck6o.net
Does Go provide REPL?
http://stackoverflow.com/questions/8513609/does-go-provide-repl

236 :デフォルトの名無しさん:2014/07/25(金) 00:29:07.50 ID:sWANe9H9.net
>>234
まあ確かに話題になってるようにpythonコンソールみたいに使えたらとても楽だ。

237 :デフォルトの名無しさん:2014/07/25(金) 00:49:56.70 ID:5ZIqGgab.net
>>232
>>230だけどありがとう
REPLはいろいろ試せて便利ということですね
コンパイル方式の言語でもREPLがあれば便利だという意見に納得

238 :デフォルトの名無しさん:2014/07/25(金) 00:55:19.24 ID:5ZIqGgab.net
>>232
>とは言っても、一般的にREPLが力を発揮するのはコーディング時に結果を確認しながら進めていけることだろうな。 バグの少ないプログラムが書ける。

これに関してはIDEでも出来るからREPLの利点になるかは微妙に思うけど

239 :デフォルトの名無しさん:2014/07/25(金) 01:24:46.41 ID:WAyDBvXq.net
そういう事出来るIDEってそんな多くないような
IDEの機能でREPLに近いのはイミディエイトウィンドウとSmalltalkくらいしか思い浮かばない

240 :デフォルトの名無しさん:2014/07/25(金) 02:11:12.44 ID:VBkcNL29.net
ipythonみたいに補完できるツールって無い?

241 :デフォルトの名無しさん:2014/07/25(金) 08:54:10.04 ID:VLfrDabm.net
>>239
SwiftのPlaygroundは、補間はおろかREPL機能やリアルタイム描画や変数の時間軸変化のグラフとか、時間軸を遡って確認したり出来る。
https://developer.apple.com/swift/
簡単なデモ動画
https://m.youtube.com/watch?v=vogFSIxprUo
描画結果も表示してる

今後こういったIDEが重要な要素となる。

242 :デフォルトの名無しさん:2014/07/25(金) 10:33:21.59 ID:v/73T7Pc.net
Swift使ってればいいんじゃない

243 :デフォルトの名無しさん:2014/07/25(金) 10:36:14.11 ID:cQJQccdW.net
本当に今欲しいもの
それはその機能ですか

244 :デフォルトの名無しさん:2014/07/26(土) 01:12:14.54 ID:gxb4YorG.net
func a() string {
return "aaa"
}
これをstringかintを返したい場合どういうふうにfunc a() stringの部分を書きなおせばいいのか教えてください

245 :デフォルトの名無しさん:2014/07/26(土) 01:38:36.60 ID:WPKMsRoX.net
func a() interface{} {
...
}

246 :デフォルトの名無しさん:2014/07/27(日) 04:43:42.19 ID:KUNHptBx.net
2013-07-18
Go言語でmmapシステムコールを使ったファイル読み込みの高速化検討とC言語のコンパイラの話
http://ryochack.hatenablog.com/entry/2013/07/18/201736

http://i.imgur.com/2sZxU5w.jpg

Go compiler も検討してるが、LLVM Clangには大きな差をつけられてる。

247 :デフォルトの名無しさん:2014/07/27(日) 08:52:04.39 ID:CwX5MDAY.net
LLVM Clangは、徹底的にループを排除するからな
元のコードがどんなだか知らんけど
他がやってるループをClangは回してない場合がある

248 :デフォルトの名無しさん:2014/07/27(日) 09:13:55.62 ID:KUNHptBx.net
>>247 中にソースが書いて有るよ。
1GBのランダムなデータを3種類の読み方で読んで、00のバイト数をカウントすると言う物。
ループを省略するなんてことは出来なさそう。

249 :デフォルトの名無しさん:2014/07/27(日) 09:46:07.39 ID:PFdtsvV+.net
元のコードのここの部分が
for (i=0; i<fsize; i++) {
if (buf[i] == 0x00) cnt++;
}

例えばこんな感じに書いたみたいに展開されるってことじゃないの?
for (i=0,size=fsize/2; i<size;) {
if (buf[i++] == 0x00) cnt++;
if (buf[i++] == 0x00) cnt++;
}
if (fsize%2==1) {
if (buf[i++] == 0x00) cnt++;
}

250 :デフォルトの名無しさん:2014/07/27(日) 11:02:43.76 ID:KUNHptBx.net
コンパイラの最も重要な最適化がループだからね。

251 :デフォルトの名無しさん:2014/07/27(日) 11:07:33.89 ID:A8GFVBne.net
変数って型をしてしたほうがいい?
:=にたよったほうがいい?

252 :デフォルトの名無しさん:2014/07/29(火) 21:53:04.26 ID:yYRcHyEO.net
・【翻訳】Go言語がダメな理由 | POSTD
http://postd.cc/why-go-is-not-good/
 Goは何も新しいことをしない。
 Goは全てにおいてうまく設計されているとは言えない。
 Goは他のプログラミング言語から退化したものである。

253 :デフォルトの名無しさん:2014/07/29(火) 21:59:11.76 ID:yYRcHyEO.net
D言語とGo言語
http://wazanova.jp/post/64086105199/d-go

254 :デフォルトの名無しさん:2014/07/29(火) 23:32:56.57 ID:UKoB3UWi.net
早くジェネリックは欲しいね。

255 :デフォルトの名無しさん:2014/07/30(水) 07:50:42.52 ID:/fpjt/6K.net
>>253 >>253
でもRustやDは全然普及していないという決定的に致命的な欠点があるよな

256 :デフォルトの名無しさん:2014/07/30(水) 09:20:20.31 ID:Nn5HlRg1.net
Rustはまだ実験段階だから仕方ない。 金が無いとなかなか進まないね。

Dはスポンサー次第だろ。 Facebookが使った。
http://blog.fenrir-inc.com/jp/2014/07/about-d-language.html
トレンド的な話ではウォルター氏を含むD言語プログラマーが Facebook に雇用されてD言語の開発とD言語製アプリケーションに携わっている状態で、
D言語公式カンファレンスの DConf も Facebook 本社を会場として去年から開催されています。

SUNはDTrace として使ってるし、DTraceはAppleでも使ってる。

257 :デフォルトの名無しさん:2014/07/30(水) 09:54:57.06 ID:5ewzjOeq.net
>>256
http://ja.m.wikipedia.org/wiki/DTrace#cite_ref-2
DTraceで使われてるDはまた別のものっぽいよ

258 :デフォルトの名無しさん:2014/07/30(水) 09:58:39.78 ID:oJuXMjZX.net
D言語のドキュメントは読みにくいから挫折してGo北野に俺が勉強したくなるような余計ななことかくな!

259 :デフォルトの名無しさん:2014/07/30(水) 11:40:53.67 ID:hbolUbaM.net
分かりやすい綺麗なコードが書ければプログラム言語なんて何でも良い
ただ、同じ事やるのに色々な表現方法が存在して構文を複雑にしたり
波括弧の位置だの鬱陶しい問題が存在しない方が良い

表現の違いで吐き出したバイナリコードに差が出る言語は
一々最速かつ最良の方法を模索するハメになるので煩わしい

260 :デフォルトの名無しさん:2014/07/30(水) 11:43:17.31 ID:1Qh8jOHK.net
Go北野でツボった
AV男優か何か?

261 :デフォルトの名無しさん:2014/07/30(水) 12:44:24.74 ID:Nn5HlRg1.net
>>260 もしかしてマジに聞いてる? Go(に)来たの

262 :デフォルトの名無しさん:2014/07/30(水) 15:03:28.86 ID:x/403miQ.net
>>259
あなたはpythonで幸せになるべき

263 :デフォルトの名無しさん:2014/07/30(水) 17:26:23.03 ID:MCWrKUub.net
>>259
そういう模索が必要になるレイヤーがあるんだよ

264 :デフォルトの名無しさん:2014/07/30(水) 18:58:50.92 ID:oDHaBQlk.net
英語読めないからあれだけど
WindowsだとOSのDLL読めるけど
ユーザーが作ったDLLは使えないんだって?
ならGoでグラフィックをやりたければOpenGLよりDirectXのが楽ということか

WinのOpenglは外部DLLないと古臭いから

265 :デフォルトの名無しさん:2014/07/30(水) 21:19:57.41 ID:/fpjt/6K.net
>>256
Facebookってオープンソースに力入れてたっけ?単に自社の便宜のためにDの開発者を取り込んだだけ、ということではなくて?

266 :デフォルトの名無しさん:2014/07/30(水) 21:50:47.94 ID:SFUuJg+H.net
facebookはPHP処理系の独自実装とかをオープンに公開してるな

267 :デフォルトの名無しさん:2014/07/30(水) 22:09:01.57 ID:oZh+12aq.net
>>261
お前のアスペぶり、最近GoとOcamlの勉強始めた激オポ野郎に似てて笑える。

268 :デフォルトの名無しさん:2014/07/30(水) 22:51:02.01 ID:Ozr11eeP.net
あそこはサーバもオープンソースでやってたじゃないか

269 :デフォルトの名無しさん:2014/08/04(月) 14:37:29.28 ID:HA1hOxHF.net
func hoge(x, y int) (x, y int) {
return
}
これはダメで

func hoge(x, y int) (int, int){
return x, y
}
これがいい理由がわからない

270 :デフォルトの名無しさん:2014/08/04(月) 14:39:53.99 ID:0z4VWwTk.net
スコープの中で一度も出てこないからだろ

271 :デフォルトの名無しさん:2014/08/04(月) 14:44:57.93 ID:HA1hOxHF.net
func hoge(x, y int) (x, y int) {
x++
y++
return
}

これでもダメ

272 :デフォルトの名無しさん:2014/08/04(月) 14:59:51.43 ID:NkDV0lbD.net
> func hoge(x, y int) (x, y int) {
> ...
> }

これ、

./main.go:7: duplicate argument x
./main.go:7: duplicate argument y

ってなる(Go 1.3)

273 :デフォルトの名無しさん:2014/08/04(月) 15:04:04.54 ID:OYo/E/zd.net
馬鹿かこいつ

274 :デフォルトの名無しさん:2014/08/04(月) 15:20:41.03 ID:CLz4tu7V.net
>>269
goは全然詳しく知らないけど軽くググったら
http://golang.org/doc/effective_go.html#named-results
When named, they are initialized to the zero values for their types when the function begins;
まんま答えがありました

275 :デフォルトの名無しさん:2014/08/04(月) 15:25:59.54 ID:HA1hOxHF.net
>>274
戻り値が初期化されるからダメってことなんですね
Named resultは便利なようで冗長的になる可能性もあるってわけですね
メモリも食いそうですね
ありがとうございました

276 :名無しさん@お腹いっぱい。:2014/08/04(月) 15:41:33.25 ID:ZHHZozY0.net
https://www.youtube.com/user/sesendou/videos

277 :デフォルトの名無しさん:2014/08/04(月) 15:48:57.70 ID:hivp8MqX.net
>>275
詳しい人の意見を少し待ったほうがいいんじゃないの?
ダメな理由は素人でも特定できたけど
なんらかのやり方があるかもしれないよ?

278 :デフォルトの名無しさん:2014/08/05(火) 17:28:58.12 ID:VDc80Yjj.net
見やすさのために変数を初期化すべきかどうかって問題だろ
goの仕様関係ないやん

279 :デフォルトの名無しさん:2014/08/05(火) 17:39:44.90 ID:DgDBu3xR.net
go は全く知らないんだけど、皆の話を聞いてたら、入力の変数名x,yと出力の変数名x,yは別物みたいだね。
つまり同じ名前をつけるバカとは付き合えんと言われてるの?

inout属性をつけられると良いんだけどね。

280 :276:2014/08/05(火) 17:59:47.02 ID:dd7FVYvi.net
>>279
いえ、違います。
てか仕様そのものじゃないか。

>>279
いえ違います。
別物ではないから
重複定義でエラーになるんでしょ。

func (x int) (x int) なら
現状だとpseudoで
int x = 0
int x = args["x"]

その内
func () (x=123 int)
などで0以外の初期化子与えたり
func (x int) (x=args["x"] int)
func (x int) (x=args.x int)
func (x int) (x=_x int)
などで引数で初期化とか出来るようになるんじゃないかな
というか既にあるんじゃないのかな

281 :デフォルトの名無しさん:2014/08/05(火) 18:07:02.09 ID:DgDBu3xR.net
>>280 変数名in x,y で、out x,yにしたかったんだろ。
でも言語仕様上 in x,y とout x,yのx,yを同じ変数に割り当てられないからエラーになるんだろ。
つまりinと、outは別の変数を使えとしかられてるんじゃ無いの?

言語によってはinout属性を付けると、入力変数に値をセット出来て出力とすることが出来る。

282 :デフォルトの名無しさん:2014/08/05(火) 18:10:48.15 ID:DgDBu3xR.net
>>281 簡単に言うと、
func( 1, 2 ) と渡された時に

勝手に 1, 2 を上書きすんなよとしかられてるんだろ?

283 :片山博文MZ次期CEO ◆T6xkBnTXz7B0 :2014/08/05(火) 18:25:28.35 ID:AfbB56Nf.net
Goは、重要な言語ではない。

284 :デフォルトの名無しさん:2014/08/05(火) 18:45:40.65 ID:dd7FVYvi.net
>>282
>>282
面倒だから何でもいいよ。

285 :デフォルトの名無しさん:2014/08/05(火) 21:25:46.03 ID:3MsCZ4lI.net
goでguiが作れない
guiライブラリのコミュニティーがない
あっても個人が作ったライブラリがあるだけ
goでguiに未来はない

286 :デフォルトの名無しさん:2014/08/05(火) 22:21:36.63 ID:VDc80Yjj.net
まずはジェネリクスを所望する

287 :デフォルトの名無しさん:2014/08/05(火) 22:47:32.36 ID:AfbB56Nf.net
Go死亡。

はい、時間の無駄でした、残念。

288 :デフォルトの名無しさん:2014/08/05(火) 22:51:32.76 ID:AfbB56Nf.net
Goはオワコン

289 :デフォルトの名無しさん:2014/08/05(火) 22:56:03.53 ID:q3/M2RFT.net
もうGoogleは、Android にも言語にも飽きたんだよ。オタクの趣味としてちんたら遊ばせておくつもりだろ。

はた迷惑だよな。
ロボット企業を買いあさってる。日本のSCHAFTも買収された。

290 :デフォルトの名無しさん:2014/08/05(火) 23:31:09.30 ID:AfbB56Nf.net
ニュース速報。Goが死亡したことについてGoogleは謝罪会見を行わ
ないとのことです。Goのユーザーからは怒りの声が上がっています。
以上、中継でした。

291 :デフォルトの名無しさん:2014/08/06(水) 00:15:13.55 ID:q1msYZkC.net
叩きたくて叩きたくてしょうがない奴が2chというゴキブリホイホイにあつまってくる
お陰でネットが平和にはなるけど

292 :デフォルトの名無しさん:2014/08/06(水) 00:15:15.26 ID:cxEAgXtb.net
Goは、システムプログラミング寄りのことをしない人には関係ないし、GAE使わない人にも関係ない。
WebAPIに使おうという人は増えてはいるけどね。

293 :デフォルトの名無しさん:2014/08/06(水) 01:31:04.59 ID:jlHxWIwY.net
まだ実験的に使ってる位だろ。 本格的に使えるレベルじゃ無いだろ。
WebAPIだと下手するとJAVAにすら負けるんじゃ無いのか?

294 :デフォルトの名無しさん:2014/08/06(水) 02:01:51.39 ID:u9FzL7dM.net
https://code.google.com/p/go-wiki/wiki/GoUsers
とりあえずGoを使ってる組織一覧あげとく

295 :デフォルトの名無しさん:2014/08/06(水) 02:59:23.20 ID:QpPIHC8m.net
>>294
GitHubとかHerokuとかマジ?

296 :デフォルトの名無しさん:2014/08/06(水) 08:27:30.42 ID:Tye/sJpW.net
おまえらDocker関連の盛り上がりを知らんのか?
あれGoで書かれてるんだぞ

297 :デフォルトの名無しさん:2014/08/06(水) 08:38:43.95 ID:OufmJGiK.net
この前買ったAsusのM/Bに付いてるユーティリティのセットアップ部分がGo+Walk?で書かれてた
Dos窓の消し方知らん状態で、よく配布出来たなと思うけど

298 :デフォルトの名無しさん:2014/08/06(水) 09:24:52.37 ID:cxEAgXtb.net
dockerに限らず、CoreOSやOSvの運用ツールもgoだったりする。
https://github.com/coreos/fleet/blob/master/README.md
https://github.com/cloudius-systems/capstan/blob/master/README.md

299 :デフォルトの名無しさん:2014/08/06(水) 09:30:56.39 ID:cxEAgXtb.net
cloudflareがオープンソースしてるCDNまわりの運用ツールやperconaのMySQLまわりの運用ツールもそうだったか。
まあ、google社内の運用ツール作成者が、cやpythonの代わりにgo使ってるようだが。

300 :デフォルトの名無しさん:2014/08/06(水) 10:06:37.78 ID:Ew8yVxs4.net
1.3からNaClもサポートされたよね。
実際使えるようになるのは1.4からだろうけどWebClient側もGoで書くようになるか。
問題はchromeでしか動かないってことだけど

301 :デフォルトの名無しさん:2014/08/06(水) 10:49:43.03 ID:1n+ZEBWM.net
NaClはサンドボックス用の実装
1.4はarm NaCl
内容分からず書き込むなよボケナス
Web Client向けじゃねーよクソカス

302 :デフォルトの名無しさん:2014/08/06(水) 13:24:50.02 ID:zhx39L6I.net
>>301
どっちかいうとPPAPIを1.3でサポートしてないから、サポートする1.4から本格的に使えるって意味ね。

ビジネスロジックをクライアント側で実装するとなるとjsでは丸見えになるから
NaClでクライアントの一部でも実装できるというのはありな気がするんだけど。
ブラウザをchrome固定にしても構わない社内システムとかね。

303 :デフォルトの名無しさん:2014/08/06(水) 13:40:49.32 ID:1n+ZEBWM.net
https://code.google.com/p/go-wiki/wiki/NativeClient
They cannot be run directly in Google Chrome. As such, the NaCl support in Go 1.3 is useful only for running sandboxed environments like the Go Playground.

上記を読めない文盲か?

PPAPIが1.4でサポートされるというソースを出したら全力で謝ろう

304 :デフォルトの名無しさん:2014/08/06(水) 15:57:32.29 ID:/I6P1gIg.net
go-wiki
There is ongoing work exploring support for the IRT and PPAPI (3 and 4 in the list) but no definite release target. Perhaps they will be in Go 1.4 but perhaps not.

perhaps not
^^^^^^^^^^

305 :デフォルトの名無しさん:2014/08/07(木) 21:30:44.75 ID:5P5b4hRW.net
Clive

306 :デフォルトの名無しさん:2014/08/09(土) 22:08:08.27 ID:bNAhKStf.net
HSPにすら負けるマイナー言語

307 :デフォルトの名無しさん:2014/08/09(土) 23:25:50.71 ID:atPSQbTe.net
ほんとだー負けてるねー(棒
https://www.google.co.jp/trends/explore#q=go%20lang%2C%20hsp%20%E3%82%B2%E3%83%BC%E3%83%A0&cmpt=q

308 :デフォルトの名無しさん:2014/08/10(日) 02:03:30.22 ID:z9JQKyZD.net
ゲームを付けずぬ検索すると更に悲惨なことになるのか

309 :デフォルトの名無しさん:2014/08/10(日) 07:28:42.80 ID:717mLNhK.net
いや、悲惨なのはどう見ても右肩下がりなHSPだろ
ゲームを付けないと、クロアチア権利党の略語としてヒットするからだめ
ゲーム以外の追加キーワードは、軒並み更に検索件数が少な過ぎる

310 :デフォルトの名無しさん:2014/08/10(日) 09:10:02.35 ID:owNP0mOn.net
いやって何がいやなんだ?
「更に」と書いてるんだからどちらにせよHSPが悲惨だと言ってるに決まってるだろ

311 :デフォルトの名無しさん:2014/08/10(日) 09:10:27.53 ID:frgBbTF3.net
いやいや

312 :デフォルトの名無しさん:2014/08/10(日) 09:42:27.18 ID:owNP0mOn.net
そう言うが本当は好きなんだろ?こういうのがよオラッ!

313 :デフォルトの名無しさん:2014/08/10(日) 17:55:11.34 ID:owxd9++q.net
学習コストが高い言語じゃないから
マイナーでも損した気持ちにあんまならない

314 :デフォルトの名無しさん:2014/08/10(日) 18:16:52.00 ID:owxd9++q.net
ただ匿名フィールドやメソッドでしっくりこない部分がいくつか

type foo struct {}
func (f foo) foobar() {}
func (f *foo) pfoobar() {}

type bar struct {
foo
}

これらのメソッドを

bar.foobar(bar)
で呼び出せたり
var nilptr *foo; foo.pfoobar() // 空なのに…
で呼び出せたりするのがなんか気持ち悪い

315 :デフォルトの名無しさん:2014/08/10(日) 18:36:30.54 ID:8jOhhL8e.net
>>314 バグじゃ無いの? 確かに気持ち悪いし理解できない。
何で
barやfooのメソッドになるんだ?

お手伝いさん雇ったらいつの間にか家ごと乗っ取られてたと言う感じ。

316 :デフォルトの名無しさん:2014/08/10(日) 18:53:42.45 ID:owxd9++q.net
>>315
ひとつめはメソッド式っていう型から直接メソッドを取り出せるリファレンスに載ってる仕様
ふたつめはfoo.pfoobar()→nilptr.pfoobar()の間違いだすまん

317 :デフォルトの名無しさん:2014/08/10(日) 19:17:22.63 ID:owxd9++q.net
>>314
一つ目の引数に型入れてしまってる
コードそのまま張る
スレ汚し申し訳ない

package main

type foo struct {}
func (f foo) foobar() {}
func (f *foo) pfoobar() {}

type bar struct {
foo
}

func main() {
b := bar{}
bar.foobar(b)

var nilptr *foo // 空なのに…
nilptr.pfoobar()
}

318 :デフォルトの名無しさん:2014/08/10(日) 19:18:14.11 ID:8jOhhL8e.net
fooのメソッドをクロージャの外に書くことも出来るようにしたと言うことなのかな?
lazy 的な使い方だからそう考えると理解出来る

319 :デフォルトの名無しさん:2014/08/10(日) 19:32:56.63 ID:fQipPNK5.net
>>317
そんなに変かな…? 「var nilptr *foo」を「空なのに…」って
言う方がヘンに思えるが…

320 :デフォルトの名無しさん:2014/08/10(日) 19:42:15.04 ID:owxd9++q.net
>>319
確かに空という表現は適切じゃないな
すまん

321 :デフォルトの名無しさん:2014/08/29(金) 15:46:46.57 ID:pefvZeNv.net
Goを書く上でおすすめのEditorって何?
atom使おうとしたら2MBのファイル制限があってtagsファイルが読み込めなくてがっかりした。

型を解釈してメソッドやメンバ変数がうまく補完されるEditorがほしいです。

322 :デフォルトの名無しさん:2014/08/29(金) 16:06:57.25 ID:pefvZeNv.net
//(1)a,_:=にすればエラーにならない
a:=func()(int,error){ return 0,fmt.Errorf("aaaaaa")}();
fmt.Println(a)
//(2)これはエラーにならない
for i:=range []string{"a","b","c","d"} {
fmt.Println(i)
}

(1)はエラーになるのはいいことだと思うけど、
(2)だとエラーにならずにindex値しか取得できない。
(2)も(1)と同様返って来たタプルの数に合わせないとエラーになるようにして欲しくない?
この仕様って何か理由あるの?

323 :デフォルトの名無しさん:2014/08/29(金) 17:48:22.16 ID:JF5lqIUA.net
Go は何故ジェネリックが出来ないんだろう、ずっとやるやると言ってて出来ないのは何か理由が有るんだろ?

ジェネリックが有るなしでは雲泥の差が有るからな

324 :デフォルトの名無しさん:2014/08/29(金) 22:14:19.57 ID:W5ciN1UU.net
Go For Perl Mongers
http://go-talks.appspot.com/github.com/lestrrat/go-slides/2014-yapcasia-go-for-perl-mongers/main.slide

325 :デフォルトの名無しさん:2014/08/31(日) 02:21:27.34 ID:Z3wJLt4Y.net
C++テンプレートみたいになるん?

326 :デフォルトの名無しさん:2014/09/01(月) 09:42:08.95 ID:Aoi0Spsz.net
>> Wikipedia を見ると
>型の継承、ジェネリックプログラミング、アサーション、オーバーロードといった機能が存在しないことも特徴である。

っと書いてるけど特徴と言うよりも欠点だろ。 型の継承が出来ないと言う事は型の拡張/Extentionも出来ないんだろうな

327 :デフォルトの名無しさん:2014/09/01(月) 10:50:39.51 ID:u5EBjTij.net
まあぶっちゃけLL風Cだし

328 :デフォルトの名無しさん:2014/09/01(月) 11:40:12.76 ID:UAvbH3xI.net
単純は良いことでしょ

329 :デフォルトの名無しさん:2014/09/01(月) 15:58:36.52 ID:SaUWCY70.net
インタフェースで良いじゃん
既に継承はレガシー化しつつある
Cジジィと言ってた世代がもうすぐ自分がジジィ呼ばわりされるのさ

330 :デフォルトの名無しさん:2014/09/03(水) 22:51:40.57 ID:OjPHMTTg.net
すみません、質問させてください。

Go言語で動的に読み込めるようなライブラリを作りたく思っています。
どのようにすれば、ライブラリ単体のコンパイルができるでしょうか?
また、作ったライブラリをどのようにすれば動的にロードする事ができるでしょうか?
よろしくお願いします。

331 :デフォルトの名無しさん:2014/09/08(月) 19:26:19.55 ID:GB5qWry9.net
無理

332 :デフォルトの名無しさん:2014/09/08(月) 19:47:42.94 ID:48pG8dL/.net
>>331
そうっぽいですね、質問後もいろいろ調べてたのですが、
Cとかで作ったライブラリは呼べるようですがGoだけでは無理っぽい・・・
ぜひライブラリも作れるようになってほしいですね
ありがとうございました

333 :デフォルトの名無しさん:2014/09/08(月) 20:09:34.31 ID:GB5qWry9.net
https://code.google.com/p/go/issues/list
ここのどっかで見た気がする

334 :デフォルトの名無しさん:2014/09/14(日) 17:09:00.11 ID:9EZHO0f/.net
>>321
gocodeが動くEditorを使えばいいってわかりました。
gosublimeが一番よさげっすね

335 :デフォルトの名無しさん:2014/09/14(日) 21:40:57.88 ID:LDtvEMMg.net
>>334
これってMingW

336 :デフォルトの名無しさん:2014/09/18(木) 23:55:04.40 ID:qJLAnAay.net
postfix並のメールサーバー作りたい
何か参考になるものちょうだい

337 :デフォルトの名無しさん:2014/09/19(金) 01:24:43.33 ID:4bqgQEeC.net
http://mirror.postfix.jp/postfix-release/index.html

338 :デフォルトの名無しさん:2014/09/29(月) 03:20:22.82 ID:miLMxBVJ.net
golintが動かない

339 :デフォルトの名無しさん:2014/09/29(月) 07:50:19.22 ID:NI0xARzz.net
御臨終です

340 :デフォルトの名無しさん:2014/09/29(月) 12:08:15.08 ID:EIANdszU.net
golintが動かないと勘違いしていた
golintはgo testをカバーしてなかっただけ
golintとgo test両方実行しないと意味ねえな

341 :デフォルトの名無しさん:2014/10/05(日) 20:59:06.62 ID:zjAXSCyt.net
Append(sliceA, sliceB[x:xx]...)で参照先の配列を領域確保1発でコピー出来るなら
MakeでCap指定した方が良いCopyの使いどころって無いよね?

342 :デフォルトの名無しさん:2014/10/12(日) 13:22:57.12 ID:e6aIROEn.net
vim-goとvim-go-extraどっちを使おうか迷った僕がvim-goを選んだ理由

・vim-goの開発が活発で将来性がある。vim-go-extraは進化しないと思った。
・利用者が多いから。

343 :デフォルトの名無しさん:2014/10/12(日) 14:01:02.40 ID:e6aIROEn.net
vim-go-extraはgolangに入ってたものを配布しているだけのようなものだからそれをいじっていくというスタイルではないと思った

344 :デフォルトの名無しさん:2014/11/02(日) 09:24:08.49 ID:r4spo6v1.net
Go 1.4で若干の言語仕様変更
http://news.mynavi.jp/news/2014/10/31/275/

ライブラリ作成と、そのライブラリの動的リンク機能マダー?

345 :デフォルトの名無しさん:2014/11/02(日) 10:09:47.13 ID:x5iq96Qv.net
変数無しRangeの使い道ってどんな時だろ
むしろforやifみたいに初期化文が置けるとスッキリするんだけど

346 :デフォルトの名無しさん:2014/11/02(日) 11:17:59.44 ID:r4spo6v1.net
1つ質問いいですか!
go言語ってコンパイルが早くて気に入ってるんだけど、
けど、なぜか突然コンパイルやテストが異常に遅くなったりする・・・
これの原因ってなんですか??

347 :デフォルトの名無しさん:2014/11/02(日) 12:15:45.86 ID:CjBmvnJw.net
ガベコレ

348 :デフォルトの名無しさん:2014/11/02(日) 20:58:40.38 ID:JPqAP6M3.net
AndroidのJavaがGoに置き換えられる日はいつかな

349 :デフォルトの名無しさん:2014/11/02(日) 21:33:47.45 ID:BYDmQ72k.net
それより先にChromeOSに飲み込まれる予感
でGoはGAEによるwebアプリとして、という形で置き換わ…らないかな…

350 :デフォルトの名無しさん:2014/11/02(日) 22:09:45.10 ID:uP+hCO1v.net
Javaは難しすぎるし文字列の連結も"a" + "b"みたいに+で書くのはダメでなんちゃらビルダーを使えとかでJava知らないとわかんないことも覚えないといけないからきつい
AndroidアプリはGo出かけるようにするべきだ
そしてJavaを切り捨てろ

351 :デフォルトの名無しさん:2014/11/02(日) 23:29:08.56 ID:6If1MJm0.net
Go「ちょっと出かけてくる」

352 :デフォルトの名無しさん:2014/11/02(日) 23:40:50.47 ID:dkfupOzq.net
Javaを斬りに行くのか

353 :デフォルトの名無しさん:2014/11/06(木) 09:31:48.41 ID:Yj3faNE/.net
goimportを11/9までに変えろってツイートのタイムラインで流れてきたけどどうやって変えるの?
.bashrcとかでpathを設定しろってこと?そんな設定した覚え無いよ

354 :デフォルトの名無しさん:2014/11/06(木) 09:40:38.83 ID:aunNruia.net
書いてあるやんけ…

> Updating
>
> Any import path in any Go source file beginning with “code.google.com/p/go.”
> should change to begin with “golang.org/x/”.
>
> On Linux, OS X, and other Unix systems, this command updates all Go source
> files in the current directory and all subdirectories, so running it in your
> GOPATH workspace root should suffice to update all your source code:
>
> sed -i .orig 's|"code\.google\.com/p/go\.|"golang.org/x/|' \
> $(find . -name '*.go')

355 :デフォルトの名無しさん:2014/11/06(木) 10:14:37.36 ID:Yj3faNE/.net
英語わかりません><
ソースコードって自分が書いたソースコードだけですか?
それともgo getでインストールしたのとか/usr/local/go以下のも全部ですか?

356 :デフォルトの名無しさん:2014/11/07(金) 02:16:51.54 ID:h+JOAERE.net
今後、ART+golang vs iOS+swiftの対決になる。

357 :デフォルトの名無しさん:2014/11/07(金) 10:31:39.22 ID:s6Ia4x9k.net
そうか、ARTはLLVMだから、高速化のみならず、ここからGoやPythonまで巻き込んでいく可能性もあるのか

358 :デフォルトの名無しさん:2014/11/07(金) 10:38:27.06 ID:xYnXm+N7.net
Clang+LLVMみたいにGolang+LLVMになるって事?

359 :デフォルトの名無しさん:2014/11/11(火) 12:41:50.08 ID:wdqJ9aU+.net
Happy birthday to you,
Happy birthday to you,
Happy birthday, dear golang〜♪
Happy birthday to you〜♪

360 :デフォルトの名無しさん:2014/11/11(火) 13:33:55.75 ID:7vWNWhS8.net
見上げて golang 夜の星を
小さな星の 小さな光が
ささやかな幸せを うたってる

361 :デフォルトの名無しさん:2014/11/16(日) 03:04:27.57 ID:DLuhiTiM.net
Google's Go To Move From Mercurial To GitHub
http://www.phoronix.com/scan.php?page=news_item&px=MTgzODc

362 :デフォルトの名無しさん:2014/11/16(日) 07:32:46.53 ID:01IXT5Y2.net
むしろGitHubじゃなかったんだ、意外

363 :デフォルトの名無しさん:2014/11/16(日) 08:29:57.40 ID:lR2mulvd.net
goto 禁止

364 :デフォルトの名無しさん:2014/11/16(日) 09:02:44.60 ID:DyeXwdqD.net
今、TCPクライアントを書いているんですが、
テストで、サーバー側でCloseされたnet.ConnにWriteしても、
1回目は何のエラーも返さないんですが、なぜだか分かる人いますか?
2回目でbroken pipeと言われます。

365 :デフォルトの名無しさん:2014/11/16(日) 09:32:08.90 ID:DyeXwdqD.net
すみません、ググったら解決しました。
http://grokbase.com/t/gg/golang-nuts/13570n38b0/go-nuts-why-net-conn-write-still-workable-on-disconnected-socket-tested-on-go1-1rc1

366 :デフォルトの名無しさん:2014/11/16(日) 14:08:08.00 ID:zDSUi8Bd.net
うん知ってたよ

367 :デフォルトの名無しさん:2014/11/17(月) 17:21:35.06 ID:zuuyG41U.net
そろそろGoのイディオムに沿ったリファクタリング本が欲しい
今までの物でも通じなくはないけど違和感がある

368 :デフォルトの名無しさん:2014/11/17(月) 21:09:13.40 ID:brk9wiVx.net
本がないと駄目とか馬鹿も大概にしろ

369 :デフォルトの名無しさん:2014/11/17(月) 22:16:15.49 ID:ppTtjJs6.net
消えろ少数言語

370 :デフォルトの名無しさん:2014/11/17(月) 22:40:13.14 ID:VgYWB20P.net
少数言語の存在を目障りに感じる奴って、脳のどこが壊れるとそうなるんだろうねw

371 :デフォルトの名無しさん:2014/11/17(月) 22:43:04.06 ID:C7tq3SGo.net
むしろこれは伸びてくだろ

372 :デフォルトの名無しさん:2014/11/17(月) 22:52:12.08 ID:Ogg/6z+g.net
本は俺もほしいなぁ
ってか、本とかまともにないと絶対普及しないと思うし。
誰か本書いてくれないかなぁ(チラチラ

373 :デフォルトの名無しさん:2014/11/17(月) 23:10:56.23 ID:ppTtjJs6.net
うるせー社員
Googleマップで見つけたチンパンジーとGo言語しゃべっとけよ、アホ

374 :デフォルトの名無しさん:2014/11/18(火) 00:10:29.13 ID:pFMenGyU.net
失望した

375 :デフォルトの名無しさん:2014/11/18(火) 00:13:06.84 ID:zcJbx4rP.net
失禁した

376 :デフォルトの名無しさん:2014/11/18(火) 11:45:48.09 ID:WPotnA1T.net
インタフェースは遅くなると思って使わないようにしてたが
試しに使ってみたら便利すぎてフイタw

377 :デフォルトの名無しさん:2014/11/18(火) 14:17:21.30 ID:f2ThsyRx.net
どう便利かPHPerの僕に教えろ!

378 :デフォルトの名無しさん:2014/11/20(木) 17:31:22.49 ID:YC7+DKYP.net
男「よろしくお願いします」
面接官「で、君は何の言語ができるの?」
男「Goができます」
面接官「他には?」
男「Goだけです。Go一筋なんです」
面接官「面接を終了します。結果は後日
お知らせします。ありがとうございました」

379 :デフォルトの名無しさん:2014/11/20(木) 17:40:23.96 ID:YC7+DKYP.net
男「よろしくお願いします」
面接官「で、君は何の言語ができるの?」
男「Goができます」
面接官「え、囲碁は言語じゃないですよ」
男「囲碁じゃなくてGoなんです」
面接官「はあ? 言ってることがわかりません。面接を終了します。
結果は後日お知らせします。ありがとうございました」

380 :デフォルトの名無しさん:2014/11/20(木) 17:42:10.67 ID:oY1GPGoB.net
PHPerの自己投影かw

381 :デフォルトの名無しさん:2014/11/20(木) 17:50:59.42 ID:YC7+DKYP.net
男「OK, I'm ready.」
面接官「By the way, what languages could you use」
男「I can use Go.」
面接官「What's!?」
男「Go!」
面接官「What are you saying? Where should we go to?」
男「Go!」
面接官「Oh, what a shitting guy! Get out of here!」

382 :デフォルトの名無しさん:2014/11/20(木) 17:58:59.99 ID:B4HwyTzw.net
        (~)
      γ´⌒`ヽ
      {i:i:i:i:i:i:i:i:}       
      /´⌒ヽ  )     ツマンネw
     (   __ )つ ⌒゚
' '''"''"" "'゙''` '゙ ゙゚' ''' '' ''' ゚` ゙ ゚ ゙''` `

383 :デフォルトの名無しさん:2014/11/20(木) 20:50:01.64 ID:0cDVql0w.net
じゃ次はsheでよろしく

384 :デフォルトの名無しさん:2014/11/20(木) 23:00:01.41 ID:1ob9Wc7O.net
いち
にー
さん
しー C の次だから
ごー Go
なんだろ?

385 :デフォルトの名無しさん:2014/11/20(木) 23:08:50.77 ID:vc5Nijr7.net
Java(Sun microsystems)
C
Go
Heroku

386 :デフォルトの名無しさん:2014/11/20(木) 23:24:25.14 ID:4zN84dTB.net
Where should we go to??

387 :デフォルトの名無しさん:2014/11/20(木) 23:26:15.06 ID:1ob9Wc7O.net
next C な名前の言語はたくさんあるな
C++, D, C#(c++++), Go

388 :デフォルトの名無しさん:2014/11/20(木) 23:29:04.83 ID:zf12BS4g.net
俺も死の次ってことでheaven言語作ってくるわ

389 :デフォルトの名無しさん:2014/11/20(木) 23:29:44.04 ID:zf12BS4g.net
糞スペル

390 :デフォルトの名無しさん:2014/11/21(金) 10:22:44.31 ID:OG/Y7Xo1.net
[仕事量]
PHP>Go
[利用者]
PHP>Go
[実績]
PHP>Go

トリプルコンボでPHPerの勝ち
Goferもっと頑張りたまえ

391 :デフォルトの名無しさん:2014/11/21(金) 10:59:25.46 ID:Iey8mlHv.net
PHPはちょっと…

392 :デフォルトの名無しさん:2014/11/21(金) 12:16:17.06 ID:RKwctBBa.net
カンマ入り数値からカンマ外すのは、これ以外に無い?
strings.Replace("15,180,000", ",", "", -1))

393 :デフォルトの名無しさん:2014/11/21(金) 12:20:45.57 ID:UnHbl35a.net
配列にして結合

394 :デフォルトの名無しさん:2014/11/21(金) 13:47:11.98 ID:RKwctBBa.net
SplitしてJoinかな
ベンチマーク取ってみるよアンガと

395 :デフォルトの名無しさん:2014/11/21(金) 14:09:37.19 ID:RKwctBBa.net
BenchmarkSplitJoin  10000000 277 ns/op
BenchmarkReplace   10000000 177 ns/op

こんな感じ

396 :デフォルトの名無しさん:2014/11/30(日) 09:07:03.18 ID:NdiYUZYS.net
合コンおーいぇー

397 :デフォルトの名無しさん:2014/12/02(火) 05:14:09.00 ID:Mms1FSAQ.net
インストールしようとしてググってたら、
公式だとtar落として自分で展開してpath通せって書いてあるんだけど
EPEL参照でyumからインスコ出来るっぽい
公式でそっちにしないのは、この方法だとなんか不都合あるんだろうか

398 :デフォルトの名無しさん:2014/12/02(火) 07:38:42.44 ID:vquYws+a.net
今は知らないが、俺が apt で入れたときは
go get でシステム領域を汚そうとしたから止めた。

399 :デフォルトの名無しさん:2014/12/02(火) 18:04:09.77 ID:Mms1FSAQ.net
>>398
それって使わなくなった時に削除するのがめんどいってのがデメリットなのかな
アップデートとかも全部yumでやるから別にいいかなぁ…
どもども

400 :デフォルトの名無しさん:2014/12/03(水) 03:59:06.16 ID:xemfXL8Z.net
yumからのインスコで使うことにしたけど、
一個めんどくさい点があった
GOROOTを設定しないとbuildとか出来ない
pathにバージョンとか入ってるわけじゃないので
バージョンアップするたびに環境変数修正ってのはなさそうだけど

401 :デフォルトの名無しさん:2014/12/04(木) 19:17:39.60 ID:FmXLQYZZ.net
公式はepelじゃないんだから妥当だと思う。
でないとepel自身がパッケージ作れんがな。

402 :デフォルトの名無しさん:2014/12/08(月) 01:06:16.96 ID:jJwEDCVJ.net
AngoIMEで書いているで

スマフォでさくさく並列処理楽ちんプログラム書けるとか

BPS時代がきたわ
問題はJKが隣にいないことやw

403 :デフォルトの名無しさん:2014/12/08(月) 01:23:42.15 ID:gpxOhL3D.net
BPSならJSだろう

404 :デフォルトの名無しさん:2014/12/08(月) 13:00:08.49 ID:y0p0oDrX.net
洋館マソ

405 :デフォルトの名無しさん:2014/12/10(水) 22:15:28.40 ID:3ZzrTcyc.net
ttp://go-tour-jp.appspot.com/#37

--------------------------------
func main() {
m = make(map[string]Vertex)
m["Bell Labs"] = Vertex{
40.68433, -74.39967,
}
m["Bell Labs"].Lat = float64(1)     ←
fmt.Println(m["Bell Labs"])
}
--------------------------------

一行加えたら、
cannot assign to m["Bell Labs"].Lat
ってコケるんだけど
mapって別に参照専用ってわけでもない連想配列ですよね?
なんでコケるんでしょうかこれ…

406 :デフォルトの名無しさん:2014/12/10(水) 22:38:54.56 ID:hVfFOG57.net
面倒くさいけど、こんな風にするみたい

ptr := m["Bell Labs"]
ptr.Lat = float64(1)
m["Bell Labs"] = ptr

Issue 3117: cannot assign to a field of a map element directly: m["foo"].f = x
https://code.google.com/p/go/issues/detail?id=3117

407 :デフォルトの名無しさん:2014/12/10(水) 22:47:12.63 ID:3ZzrTcyc.net
>>406
私の認識や手順が違うとかじゃなく、ほんとにそのままでは出来ないんですね
でもwork-aroundって書いてるからそのうち直す的な感じなのかな
2年前ってのがあれですがw

ともあれ、ありがとうございます。

408 :デフォルトの名無しさん:2014/12/11(木) 15:31:26.79 ID:HIgp7OEe.net
go listってやっても
can't load package: package .: no buildable Go source files in /home/kido
ってなります

gocodeをgo getでインストールしてあるのですがどうしてgo listで表示されないんですか?

409 :デフォルトの名無しさん:2014/12/11(木) 15:49:25.67 ID:SBn2bhiW.net
>>408
http://golang.jp/install#install

410 :デフォルトの名無しさん:2014/12/13(土) 12:01:31.39 ID:BVSGhnq7.net
>>405
structは値型だからね
m["unko"]はmに格納されてるVertexのコピーが返される
これに修正加えても反映されないよーっていうエラー
だからそう言う書き方がしたいなら
map[string]*Vertex
って宣言するといい

411 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 12:12:47.84 ID:imyzRhSY.net
>>410
var m map[string]*Vertex

func main() {
m = make(map[string]*Vertex)
m["Bell Labs"] = &Vertex{
40.68433, -74.39967,
}
m["Bell Labs"].Lat = float64(1)
fmt.Println(m["Bell Labs"])
}

これで行けました。ありがとうございます!

便乗で質問なのですが、
var m map[string]*Vertex
mapに関しては個人的に全部これでいいんじゃないかなと思ってしまうのですが
リファレンス型(ポインタ型?)を使うデメリットってあるんでしょうか。
自分で思いつくのは、
           値                リファレンス
メリット       ?               アドレス情報にしかメモリを使わない
デメリット    コピー分メモリを食う     ソースがやや煩雑に

とう感じなのですが…

412 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 13:29:33.21 ID:WvyZJyoU.net
primitive 型の時は困るな…

m = make(map[string]*int)
m["Bell Labs"] = &1

とかできないし…

m = make(map[string]*int)
x := 1
m["Bell Labs"] = &x

とかするのも本末転倒の様な気が

413 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 14:08:11.12 ID:imyzRhSY.net
すみませんよくわかっていなかったようです…

type Vertex struct { Hage int }
func main() {
//primitive型 ------
var m map[string]int
m = make(map[string]int)

m["Bell Labs"] = 1
fmt.Println(m)

//中身構造体 ------
var n map[string]*Vertex
n = make(map[string]*Vertex)
n["Bell Labs"] = &Vertex{}

n["Bell Labs"].Hage = 1
fmt.Println(n)

//中身slice ------
var o map[string][]int
o = make(map[string][]int)

o["Bell Labs"] = append(o["Bell Labs"], 1)
fmt.Println(o)

o["Bell Labs"][0] = 2
fmt.Println(o)
}

こんな感じの使い分けですかね(´・ω・`)
sliceはappendでやれば直でokという感じなのかな…

414 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 14:43:59.47 ID:BVSGhnq7.net
>>411
小さい構造体とかプリミティブなやつはポインタを取るより値渡しの方が速いって読んだことある
(結構公式な文書だったと思うんだけどどこだったか忘れた。すまん)
だからどっちかいいかは使い方によるのかもしれない

>>413
sliceは参照型だからね
それ自体でポインタみたいなもんだから直でいける

415 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 23:01:44.70 ID:imyzRhSY.net
>>414
遅くなりましたがありがとうございます!

416 :デフォルトの名無しさん:2014/12/29(月) 23:22:29.55 ID:QuoLDkEA.net
高階関数ってリフレクションしないと駄目っぽいな
せっかく関数が第一級オブジェクトなのに何か勿体ない

417 :デフォルトの名無しさん:2015/01/06(火) 02:43:41.06 ID:zpgKMgJd.net
mattnさんgo本書いてくんないかなー

418 :デフォルトの名無しさん:2015/01/06(火) 17:32:14.22 ID:M3VR0ni5.net
俺もmattn本に+1
言語仕様の説明よりもスーパーサンプル集的な書籍が欲しい

419 :デフォルトの名無しさん:2015/01/06(火) 21:00:48.30 ID:h8AkEaym.net
誰でもいいから本出してほしい
多少高くてもいいから。できれば一人でなく複数人

420 :デフォルトの名無しさん:2015/01/07(水) 09:21:21.81 ID:AOiER/0b.net
もう出てるけど、もっと深いのが欲しいのか?

421 :デフォルトの名無しさん:2015/01/07(水) 14:46:54.67 ID:e24S5a9I.net
androidで盛り上がれば本も増えるだろうな

422 :デフォルトの名無しさん:2015/01/07(水) 19:22:58.91 ID:cvGCzuKQ.net
>>418
ほんとこれ
言語仕様やライブラリ仕様はリファレンスが十分過ぎるぐらい充実してるしな

423 :デフォルトの名無しさん:2015/01/07(水) 23:22:36.07 ID:TubS6YKr.net
マトン先生今年はヒツジ年だからなんか出すはず!

424 :デフォルトの名無しさん:2015/01/08(木) 12:15:26.41 ID:r59ZtkkO.net
配列の最高値とインデックスを返すような多値関数から
最高値だけをAppendしたい場合、一旦変数に受けないと無理?

425 :デフォルトの名無しさん:2015/01/08(木) 16:15:54.59 ID:SnsO6Hw4.net
なぜmattunさんはチンチン丸出しの素っ裸なのか…

426 :デフォルトの名無しさん:2015/01/08(木) 20:38:46.44 ID:PYPv/bx4.net
>>424
無理やりだけどこんな感じで

package main

import (
"fmt"
)

func _max(list []int) (int, int) {
if len(list) == 0 {
return 0, -1
}
max := list[0]
pos := 0
for i := 0; i < len(list); i++ {
if max < list[i] {
max = list[i]
pos = i
}
}
return max, pos
}

func main() {
arr_1 := []int{1, 10, 3, 4, 5, 6, 7, 8}
arr_2 := []int{100}

arr_2 = append(arr_2, (func(arg ...int) int { return arg[0] }(_max(arr_1))))

fmt.Printf("%v\n", arr_2)
}

427 :デフォルトの名無しさん:2015/01/08(木) 20:48:39.89 ID:r59ZtkkO.net
>>426
凄い、全然思い付かなかったです
勉強になりました。ありがとう

428 :デフォルトの名無しさん:2015/01/08(木) 23:08:21.81 ID:JAYi2dXH.net
即時関数か
golangでも出来るんやな

429 :デフォルトの名無しさん:2015/02/04(水) 19:19:43.13 ID:8Sw6mo5N.net
go getでインストールしたパッケージはGOPATHで指定したパスにインストールされるけどさ
go listっていうのはこのGOPATHにインストールされているパッケージ一覧を表示してくれるってわけじゃないんですか?
$ go list
>can't load package: package .: no buildable Go source files in /home/kidotoyohiko
こうなるんですが

430 :デフォルトの名無しさん:2015/03/09(月) 12:22:38.99 ID:ZcxXoJVE.net
Go言語を勉強し始めたばかりだけど匿名フィールドは構造体名でアクセスできるんだな
気づくのにすこし時間かかった
type Aaa struct {
str1 string
}
func newAaa() *Aaa {
t := new(Aaa)
t.str1 = "str1"
return t
}
func (t *Aaa) Print() {
fmt.Println(t.str1)
}
type Bbb struct {
*Aaa
str2 string
}
func newBbb() *Bbb {
t := new(Bbb)
t.Aaa = newAaa()
t.str2 = "str2"
return t
}
func (t *Bbb) Print() {
t.Aaa.Print()
fmt.Println(t.str2)
}
func main() {
t := newBbb()
t.Print()
}

431 :デフォルトの名無しさん:2015/04/27(月) 03:14:20.43 ID:0ybKBVZB.net
http://ideone.com/4EFjar
pop()と同じ動作を想定して, pop1() pop2()をかいてみたんですが
どちらも r=4 になってしまいます
goで式の評価順はどうなってるのでしょうか?

432 :デフォルトの名無しさん:2015/04/27(月) 08:55:25.98 ID:SK92dx/y.net
>>431
appendって領域が十分なら上書きしちゃったりするんじゃなかったっけ?

433 :デフォルトの名無しさん:2015/04/27(月) 11:53:03.95 ID:0ybKBVZB.net
>>432
上書きされてました ありがとうございます

434 :デフォルトの名無しさん:2015/05/27(水) 08:44:30.80 ID:CaoeGQX/.net
main関数を他の関数の上に持っていくか下に持っていくか迷ってるんだけど
ルールがあったりする?

435 :デフォルトの名無しさん:2015/05/27(水) 12:03:24.54 ID:KwGlDoiU.net
C(K&R)ならともかくGOじゃないっしょ
無いよね?

436 :デフォルトの名無しさん:2015/06/03(水) 23:41:10.45 ID:WPfxguwe.net
Cじゃねえんだから好きにしろよ

437 :デフォルトの名無しさん:2015/06/05(金) 22:59:12.97 ID:kU15dp2l.net
Cとか書いた事も無いので何で後ろに有るのか不思議に思ってたけど
ググってスッキリした

438 :デフォルトの名無しさん:2015/06/07(日) 17:29:20.20 ID:rVbuZbAc.net
A Tour of Go(日本語版)のフィボナッチ数のExerciseはテストされないのか

439 :デフォルトの名無しさん:2015/06/10(水) 19:04:40.57 ID:vRKJ93PX.net
A Tour od Go 日本語訳が色々辛い

440 :デフォルトの名無しさん:2015/06/11(木) 20:17:20.73 ID:7zT8SS54.net
go build はカレントディレクトリに実行ファイルを生成
go install は go build に加えて実行ファイルをGOBINに移動させる

って理解であってる?

441 :デフォルトの名無しさん:2015/06/18(木) 12:32:46.05 ID:UagCHqSk.net
>>440

ttp://jp.techcrunch.com/2015/06/18/20150617google-microsoft-mozilla-and-others-team-up-to-launch-webassembly-a-new-binary-format-for-the-web/

goがクライアントサイドで動くかも?

442 :デフォルトの名無しさん:2015/06/18(木) 13:02:41.32 ID:oefBmuK0.net
レスやないやん

443 :デフォルトの名無しさん:2015/06/18(木) 17:54:28.09 ID:z2QMHecM.net
>>441
おおそれは面白そう

444 :デフォルトの名無しさん:2015/06/19(金) 16:59:13.37 ID:fpEnerGj.net
サーバサイドアプリを作ってるんですが、
ファイルの変更を検出して今のプロセスを殺して go run XXX.go を再実行してくれる良いツールないでしょうか?

Ctrl+c して go run XXXX.go とか地味にイライラする

445 :デフォルトの名無しさん:2015/06/19(金) 17:41:22.39 ID:fpEnerGj.net
>>444
自己レスですがginで解決しました。
ttps://github.com/codegangsta/gin

446 :デフォルトの名無しさん:2015/10/31(土) 18:57:33.63 ID:ELtLmf7b.net
DLL作れるようになったのかと思ったらWindowsじゃサポートされてないのね

447 :デフォルトの名無しさん:2015/11/25(水) 07:15:24.66 ID:rJmLSs5J.net
http://kwatch.houkagoteatime.net/blog/2015/11/24/misleading-articles/

448 :デフォルトの名無しさん:2015/12/01(火) 23:30:02.07 ID:YHNsRt8H.net
http://go-talks.appspot.com/github.com/lestrrat/go-slides/2014-yapcasia-go-for-perl-mongers/main.slide#58
このスライドの struct{} と struct{}{} ってなんですか?

449 :デフォルトの名無しさん:2015/12/02(水) 08:00:24.78 ID:98kWsFh0.net
struct{}
空の構造体定義

struct{}{}
空の構造体定義&生成

450 :447:2015/12/02(水) 10:15:23.48 ID:I9gRsCT5.net
>>449
ありがとうございました。

451 :デフォルトの名無しさん:2015/12/04(金) 07:20:04.14 ID:codNuEGF.net
GOって全然流行らないね

452 :デフォルトの名無しさん:2015/12/04(金) 12:12:16.23 ID:RqbsZlfd.net
1.5.2リリースきたー

>>451
そうかな?

453 :デフォルトの名無しさん:2015/12/04(金) 13:21:31.35 ID:hYxOV08j.net
Rails登場前のRubyくらいの知名度かな
非エンジニアなクライアントにgolangもやってます、と伝えても初耳って人が多いね
技術者ならだいたい聞いたことはあるって帰ってくるけど

もっと流行っても良いんじゃないかとは思うけど、ぐぐれば情報が十分ある程度には使われてるし不自由な状況ではないんだよな

454 :デフォルトの名無しさん:2015/12/05(土) 02:50:44.50 ID:XzVzQBrr.net
ググラビリティが悪い
もうちょい名前を考えて欲しかったな

455 :デフォルトの名無しさん:2015/12/19(土) 15:53:57.84 ID:TV8OiN+s.net
goのEditorで今のおすすめは何かな?
俺の中ではVisualStudioCodeなんですが。

456 :デフォルトの名無しさん:2015/12/19(土) 23:54:09.03 ID:GM3q6wlH.net
sublime textで特に不満ないよ

457 :デフォルトの名無しさん:2015/12/25(金) 02:25:51.96 ID:y60VPA7n.net
goは外部ツール充実してっからどのエディタでも同じレベルで快適だよ。だいたいgo用のパッケージかプラグインあるでしょ。だから好きなエディタ使え

458 :デフォルトの名無しさん:2015/12/31(木) 20:19:55.18 ID:BO+mMVFR.net
>> 455

IntelliJがいいよ。
はてなの中の人もオススメしてた。

459 :デフォルトの名無しさん:2015/12/31(木) 20:20:32.48 ID:BO+mMVFR.net
上のレス >> 454 だった

460 :デフォルトの名無しさん:2015/12/31(木) 23:57:36.14 ID:0xf2UWz7.net
来年はgo言語もちょっと盛り上がるといいね

461 :デフォルトの名無しさん:2016/01/01(金) 13:12:47.05 ID:E/hak+Py.net
マ イ ン ド コ ン ト ロ ー ル の手法

・沢山の人が、偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法

偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い

靖 国 参 拝、皇 族、国 旗 国 歌、神 社 神 道を嫌う カ ル ト

10人に一人は カ ル ト か 外 国 人

「ガ ス ラ イ テ ィ ン グ」 で 検 索 を !ll

462 :デフォルトの名無しさん:2016/01/02(土) 15:11:34.83 ID:dDeNCcj5.net
・沢山の人が、偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

消費税ですね判ります

463 :デフォルトの名無しさん:2016/01/06(水) 23:14:14.44 ID:4CIgSJD1.net
オライリーから本出るね

464 :デフォルトの名無しさん:2016/01/07(木) 00:14:59.45 ID:0znhgkz2.net
どうせなら The Go Programming Language を翻訳してくれればいいのに

465 :デフォルトの名無しさん:2016/01/07(木) 00:45:00.91 ID:wyILSx5n.net
今年3月に翻訳本が出るんじゃなかったっけ

466 :デフォルトの名無しさん:2016/01/07(木) 12:35:59.31 ID:N5HH13xV.net
英語版だと5ドルで買えるから英語版読んだら。

467 :デフォルトの名無しさん:2016/01/13(水) 09:40:10.12 ID:LriSB9Er.net
Goの性能を測ってみたいと思いましてね

構成はこう
(1) Win10 Postgres Apache PHP5.6
PDO, prepare, execute, print
(2) Win10 Postgres GO
sql.Open, Query, Next(Fprintf)

テーブルから1000行6カラム読んでプリント
SQL文は同じ、Select * From TestTable Limit 1000
というテストを、負荷テストツールのpylot1.26でやってみたんすよ

結果
(1) 750リクエスト/分 80msec/一回
(2) 706リクエスト/分 84msec/一回

PHPはフレームワークも何も無しで10行くらい
Goも通ってるのは10行くらいなんですが
9割方データベースだろ、って状態ではこんな感じでしょうかね

468 :デフォルトの名無しさん:2016/01/13(水) 11:46:07.30 ID:EwraTGVM.net
Win10使ってる時点でお察し

469 :デフォルトの名無しさん:2016/01/13(水) 12:08:33.96 ID:uMvtIS1u.net
横からだけどこういう比較するときはVirtualBoxあたりでLinux環境立てたほうが良いんかね?

470 :デフォルトの名無しさん:2016/01/13(水) 14:35:53.26 ID:CipOufW1.net
Go「Linuxなら…本気出す」

別の場所でちょい古のDebianで試してみた所
(1)PHP 463リクエスト/分 129msec/回
(2)Go 410リクエスト/分 145msec/回
やっぱりGoの方がわずかに遅いっぽい…

471 :デフォルトの名無しさん:2016/01/13(水) 14:58:45.80 ID:CipOufW1.net
PasteBinに貼って置くので「ここやがな」てのが有れば教えてくれください

ttp://pastebin.com/kQBFhVQp
ttp://pastebin.com/6bACps6v

472 :デフォルトの名無しさん:2016/01/13(水) 15:54:22.06 ID:EwraTGVM.net
糞はfmtじゃね

473 :デフォルトの名無しさん:2016/01/13(水) 17:13:31.80 ID:jmhOlm9C.net
part1 て....人気ないの?それとも2ch に書き込むような品性下劣な人間が少ないってこと?

474 :デフォルトの名無しさん:2016/01/13(水) 17:23:19.96 ID:7cbOl3Dp.net
Tiobe だと 50位以内に入ってないぞ
まあキッシュイーターが群がるような代物でもないけど

475 :デフォルトの名無しさん:2016/01/13(水) 18:05:20.91 ID:EwraTGVM.net
>>473
前にも Go スレは何度か建ってたのでこれが part1 というのは間違い

476 :デフォルトの名無しさん:2016/01/13(水) 19:30:58.60 ID:cjoN9klk.net
言語仕様が安定してるから話すことないとかかな。
Swiftなんかガンガン変更しまくりで試行錯誤感が半端ない。
goにジェネリクスが付いたらまた変わるのかも。
正直メタプログラミングが弱いのが辛い。ちょっとしたツール系を作るのはいいけど、
Webアプリをこれで作りたいとあんまり思わないだよなぁ

477 :デフォルトの名無しさん:2016/01/13(水) 22:56:09.25 ID:jmhOlm9C.net
なるほど。まあ罵詈雑言の応酬より過疎ってた方が読みやすくてありがたい

478 :デフォルトの名無しさん:2016/01/13(水) 23:22:36.01 ID:Me1xU7va.net
PDOはネイティブ呼び出しだから速いよ

479 :デフォルトの名無しさん:2016/01/14(木) 03:24:09.60 ID:byr4bFjT.net
>>476
webアプリではないけど、GAE/goをモバイルバックエンドに使ったらスケール悩まず書けて素敵なんだけどな
最近ならSPAでも便利だろう
小規模サービスなんで恐縮だが個人的には安く上がってると思ってる

ただそういう向きで価値見出す人はすでにAWSに取られちゃってる印象だよね
Datastoreを高いとは言わないけど落とし穴が多いとは思うし

goでwebやるならGAEも是非とは言いたい

480 :デフォルトの名無しさん:2016/01/14(木) 03:40:41.70 ID:UUuhE8Rb.net
>>471
自己メモレス
Fprintf(w, "書式", 変数)をやめる
Fprint(w, r.a + ":" + r.b ...
その場で一度に文字列連結、にすると2%くらい速くなる模様ですぞ
こうするとやってることはPHPとほとんど同一で、差も微粒子レベルで存在になるかな

481 :デフォルトの名無しさん:2016/01/14(木) 10:38:57.14 ID:YBLBbkKl.net
>>479
手軽にwebAPIサーバーが書けるフレームワークって何が便利なの?
echo?gin?そろそろデファクトスタンダードが出てほしい。
最近Elixir+phonix触ってるんだけど、エラー時にプロセス再起動する機能が組み込んであるのが便利そう。
goでデーモン書くのって決まりきった書き方もないみたいだし、
いろいろ下回りを自前で準備する感じがするんだけど、、、

482 :デフォルトの名無しさん:2016/01/14(木) 19:16:39.15 ID:MVoyv7BA.net
>>480
Fprintf も止めればもっと速くなる

483 :デフォルトの名無しさん:2016/01/14(木) 21:11:50.22 ID:x8stlI1n.net
goの本
http://www.amazon.co.jp/dp/4873117526/

484 :デフォルトの名無しさん:2016/01/14(木) 21:28:59.92 ID:eYypgRpr.net
>>483
発売日は、まだ先なのね。
本屋行って探しちゃったじゃんかー

485 :デフォルトの名無しさん:2016/01/15(金) 23:01:47.93 ID:27wkGJB0.net
1.5.3ってセキュリティfixだけですか?
milestoneのは入っているんでしょうか。

486 :デフォルトの名無しさん:2016/01/16(土) 05:56:46.68 ID:2dhmjbRf.net
>>483
おっ、どんなだろ予約しておこう

487 :デフォルトの名無しさん:2016/01/25(月) 00:44:23.45 ID:MxjMVzG6.net
Goで素数判定をエラトステネスのふるいにして書いてみたけどrubyのprimeライブラリより遅かった
Goってあんまり速くないの?教えてエロい人

488 :デフォルトの名無しさん:2016/01/25(月) 00:54:54.11 ID:11Jcfjfr.net
Go のバージョンと実際に書かれたコードが分からんので何とも言えない

489 :デフォルトの名無しさん:2016/01/25(月) 01:16:17.48 ID:MxjMVzG6.net
>>488
バージョンは1.5
コードは俺のが遅いのかまともに書いてる人のでも遅いのかが気になってるだけだから載せるまでもないかなと思ってる

490 :デフォルトの名無しさん:2016/01/25(月) 01:48:00.41 ID:11Jcfjfr.net
$ ruby --version
ruby 2.2.3p173 (2015-08-18) [i386-linux-gnu]
$ time { ruby -e 'require "prime";print Prime.take(10000)' > /dev/null; }
real 0m0.405s
user 0m0.400s
sys 0m0.008s

↓このコードをローカルにコピーして、

http://play.golang.org/p/XXiTIpRBAu

const N = 104740 に変更してビルド・実行。

$ go version
go version devel +4f40182 Sat Jan 23 01:28:06 2016 +0000 linux/386
$ go build prime.go
$ time { ./prime > /dev/null; }
real 0m0.064s
user 0m0.048s
sys 0m0.016s

491 :デフォルトの名無しさん:2016/01/25(月) 02:28:15.33 ID:MxjMVzG6.net
>>490 thx
それぐらいの桁数だと自分の環境でもgoのコードのが速いんだけど、桁数増えると圧倒的に負けるようになる
というかgoが時間かかりすぎる
104700000が素数かどうかの判定の時点ですでに負けてる
$ go version
go version go1.5.1 darwin/amd64
$ time ./prime
(結果略)
0.38s user 0.01s system 98% cpu 0.395 total

$ ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
$ time tuby -e 'require "prime"; p 104700000.prime?'
(結果略)
0.13s user 0.09s system 86% cpu 0.254 total

goコード: http://play.golang.org/p/1y7lrBML1-

492 :デフォルトの名無しさん:2016/01/25(月) 08:54:26.29 ID:11Jcfjfr.net
そんなに遅いかな?

x86_64 環境で Prime.take(10000000) をやってみたんだけど(10^7)、

$ ruby --version
ruby 2.2.3p173 (2015-08-18) [x86_64-linux-gnu]
$ go version
go version devel +970ce1c Sun Jan 24 16:07:30 2016 +0000 linux/amd64

ruby: 0m25.204s
golang: 0m5.902s

となった。prime? メソッドについては後で ruby のソースコードを見てみる

493 :デフォルトの名無しさん:2016/01/25(月) 09:30:52.61 ID:11Jcfjfr.net
ここは、

for i := 3; float64(i) < math.Sqrt(float64(n)); i += 2 {
flg = true
for _, j := range primes {
if int64(i) % j == 0 { flg = false }
}
if flg == true { primes = append(primes, int64(i)) }
}

こうすべきなんじゃ?

for i := 3; float64(i) < math.Sqrt(float64(n)); i += 2 {
flg = true
for _, j := range primes {
if n%j == 0 { return false } // 追加
if int64(i)%j == 0 { flg = false }
:

そりゃ n までの素数を全部計算してからチェックしたら遅いわな

494 :デフォルトの名無しさん:2016/01/27(水) 00:44:58.41 ID:YbPGx/2n.net
>>493
よく考えたらprimeかどうかだけならそのifないと圧倒的に効率悪かったな
助かったサンクス

495 :デフォルトの名無しさん:2016/01/27(水) 10:03:42.93 ID:PS/Qpp4W.net
>>494 はフィボナッチでも劇遅糞プログラミングしそう

496 :デフォルトの名無しさん:2016/01/27(水) 11:55:10.02 ID:ChRzt0VQ.net
>>494
それで結果はどうなったの?rubyより早くなった?

497 :デフォルトの名無しさん:2016/01/27(水) 21:15:12.05 ID:hT8Bs+OE.net
>>496
素数: 1853028778786433 について試してみた
$ time ruby -e 'require "prime"; puts 1853028778786433.prime?'
4.61s user 0.08s system 99% cpu 4.700 total
golang の方は有意な時間で判定できなかった。
逆に小さな約数を持つ場合だと golang のが早かったりする。
一体どうやったらこんなに速くなるんだ・・・

498 :デフォルトの名無しさん:2016/01/27(水) 21:33:03.27 ID:hT8Bs+OE.net
と思って prime.rb を参考に改良した
$ time ./prime
1853028778786433 is prime!./prime4 0.18s user 0.01s system 98% cpu 0.189 total
いい感じ!アドバイスくれた人サンクスでした
コード: http://play.golang.org/p/-8oZ5IaC60

499 :デフォルトの名無しさん:2016/01/27(水) 23:10:29.76 ID:qL6rtn4g.net
どれだけ高度なコンパイラを使おうとアルゴリズムがダメならインタプリタに負けるって事がはっきりわかんだね

500 :デフォルトの名無しさん:2016/01/30(土) 13:13:18.17 ID:dxvhMaRr.net
http://play.golang.org/p/WgXW-WWQsX

501 :デフォルトの名無しさん:2016/01/30(土) 14:11:30.69 ID:VBtK9+ST.net
>>500
細かいところだがサンクス
ちなみにどれぐらい速度変わった?
今出先で調べられないんで気になる

502 :デフォルトの名無しさん:2016/01/30(土) 18:06:51.65 ID:dxvhMaRr.net
ごめん、はやくなってなかったorz

503 :デフォルトの名無しさん:2016/02/03(水) 01:00:13.99 ID:RekMB9Ax.net
goは言語仕様が絞られて素敵だけど、
いざ使うとなるとやっぱりメタプログラミングに弱いのが辛い。
リフレクションも使いづらいし、ジェネリクスがほしい。
せめてelxirのマクロみたいな機能でもほしい。

504 :デフォルトの名無しさん:2016/02/03(水) 01:10:28.85 ID:sGnqiCrl.net
groovy でも使っとけ

505 :デフォルトの名無しさん:2016/02/03(水) 19:27:02.90 ID:8oEH7nQt.net
     ,_---~~~~~----._    
 _,,_,*^____   _____``*g*\"*,
/ __/ /'   ^. /   \ ^@q  f
[ @f | @))  | | @))  l 0 _/ 
\`/  \~____ / __ \_____/  \ 
 |      _l__l_      I 
 }     [______]      I 
 ]      | | |      |  お年寄り向け言語に文句言うな
 ]       ~ ~       | 
 |              | 
  |              |

506 :デフォルトの名無しさん:2016/02/04(木) 08:13:31.10 ID:MUd/RGoB.net
go は c の代替って感じだからな。

507 :デフォルトの名無しさん:2016/02/04(木) 17:21:48.10 ID:ob+62gtm.net
>>505
plan9おじさん

508 :デフォルトの名無しさん:2016/02/04(木) 19:16:26.71 ID:qHo6spb8.net
go buildで最適化オプションないよね。

他言語の最適化おプチョンって何してるかわからんけど(デバッグ機能とか削ってんの?)、
実はgoってもう少し早くなるんじゃないかと思うんだが。

509 :デフォルトの名無しさん:2016/02/04(木) 20:22:00.20 ID:7gWb47bj.net
gccgo でも使えばいいんじゃない

510 :デフォルトの名無しさん:2016/02/06(土) 15:12:23.11 ID:+oaiB5r1.net
gccgo はversion古すぎてむしろ遅い

511 :デフォルトの名無しさん:2016/02/18(木) 07:25:41.93 ID:R9/9Yxv0.net
go 1.6 age
ttps://blog.golang.org/go1.6

512 :デフォルトの名無しさん:2016/02/18(木) 17:06:46.52 ID:45GMtAZP.net
1.6は少し難産だったかな。

513 :デフォルトの名無しさん:2016/02/25(木) 14:07:18.05 ID:1iIBqXg3.net
Goってサンプルコード見た感じ
プロトタイプベースの動的型付けでJavaScriptみたいに見えるけど
ぜんぜん違う?

514 :デフォルトの名無しさん:2016/02/25(木) 18:19:46.58 ID:7HmTbcPG.net
うん、全然違う。

515 :デフォルトの名無しさん:2016/02/26(金) 02:02:53.28 ID:xrOnn7Vq.net
>>512
一番すごい変更はvendoringかな。
コンパイル速度も速いままだし。

あと開発環境はvisualStudioCodeのgoサポートが一番いい気がするんだけどどう?
debugが一応スタックトレースくらいは見れるから
code readlingしやすくなったかも

516 :デフォルトの名無しさん:2016/02/27(土) 10:39:29.98 ID:HPxqSVef.net
>>515
なれるとvim。

517 :デフォルトの名無しさん:2016/02/27(土) 13:19:34.48 ID:yMp5JRD4.net
俺もVimだな

518 :デフォルトの名無しさん:2016/02/27(土) 13:25:33.79 ID:kW+aRgio.net
>>517
vimは環境構築がよくわからなくて使いこなせない。
一から構築するとしてどこみりゃいいの?

519 :デフォルトの名無しさん:2016/02/27(土) 14:19:56.77 ID:HPxqSVef.net
>>518
ttps://github.com/fatih/vim-go

520 :デフォルトの名無しさん:2016/03/01(火) 01:00:37.90 ID:29/rUB4E.net
for r := range "よろしく" {
fmt.Printf("<%c>¥n",r)
}

と、書くと実際にはrに入るのはindexなので期待通りに動きません
goにおいて多値を帰す場合は受け取り側もその数分用意しなくてはいけない
のが仕様のはずですが、
これは組み込みの機能なので対象外の動作です。
せめてrにはvalueが入るのが基本動作なら良かったんですが
このような挙動なのにはなにか理由があるんでしょうか?
教えて下さい

521 :デフォルトの名無しさん:2016/03/01(火) 07:46:36.94 ID:6qCWzYt3.net
文字列がインデックス付きデータだからでしょ。

_, r := range "よろしく"

では駄目なの?

522 :デフォルトの名無しさん:2016/03/02(水) 02:02:01.07 ID:O+5v5XDS.net
>>521

いえ、聞きたいのは
rangeの機能が通常のGoとしての関数の仕様と
異なる動作にしたのはどんな理由があってのことなのかと。

関数がエラーを含んだ多値を返すことを考慮して受け取り側は常に何個の返り値が返るか
意識することが必須ですが、
rangeは2つめの返り値を'_'で受取る必要が
なくても唯一動くことが許されていますよね

523 :デフォルトの名無しさん:2016/03/02(水) 02:36:27.86 ID:KGp7/CHI.net
そもそもfor文なんだからインデックスだけ使う場合はそういう表記でも違和感なくね?と思うんですが

524 :デフォルトの名無しさん:2016/03/02(水) 07:53:32.49 ID:4uoCKH4m.net
>>522
インデックスは一つ目だぞ

525 :デフォルトの名無しさん:2016/03/02(水) 07:57:52.01 ID:WtpIOuzZ.net
>>522
型アサーションも第二返り値を付けると失敗時に panic せずに失敗したことを真偽値で返すし、
開発者はそうすることで利便性が上回ると判断したんでしょ。

526 :デフォルトの名無しさん:2016/03/02(水) 17:47:47.86 ID:O+5v5XDS.net
>>525
あっ型アサーションもそういう挙動だったですね。
失念してました。
でもrangeで多値返却の省略可能な構文はメリットが思いつかなくないですか?

527 :デフォルトの名無しさん:2016/03/02(水) 19:29:42.93 ID:LM//BLJD.net
>>526
型アサーションだけでなく comma OK 構文全部だね。

>rangeで多値返却の省略可能な構文はメリットが思いつかなくないですか
型アサーションの挙動を見るに、省略してると言うより返り値の数によって別の処理を呼び出してる感じだけど、
まあ、パターンを覚えてしまえば余計なもの書かなくて済んで楽だよ。

528 :デフォルトの名無しさん:2016/03/06(日) 23:04:28.69 ID:b6Djrwpa.net
Goで使われたものでよく使ってるものとか面白いものとかないですか?
俺がよく使うのはghqです。

ghq : Manage remote repository clones

とりあえず試しにgit cloneするのに便利。後で迷わないし。
pecoと組み合わせで使っています

529 :デフォルトの名無しさん:2016/03/08(火) 07:20:41.16 ID:UEJ8DCRQ.net
仕事で使う使い捨てツールはgoで書いてるよ
rubyとかで書くと処理遅いから。

530 :デフォルトの名無しさん:2016/03/08(火) 11:28:08.83 ID:MTUVFWu6.net
マッハの高速

531 :デフォルトの名無しさん:2016/03/08(火) 11:30:57.60 ID:MTUVFWu6.net
ruby 2.2おそいのか。ハァー

532 :デフォルトの名無しさん:2016/03/08(火) 11:33:23.15 ID:MTUVFWu6.net
【アニメ】 マッハGoGoGo_OP - YouTube
https://www.youtube.com/watch?v=cPR45cBkRq4

533 :デフォルトの名無しさん:2016/03/11(金) 22:39:08.10 ID:nLZDtom/.net
http://www.amazon.co.jp/gp/aw/d/4621300253/

534 :デフォルトの名無しさん:2016/03/12(土) 12:14:25.10 ID:SnyNHJuk.net
日本語版でたのか。原著出てから4か月ちょっとなので結構はやかったね。
http://www.informit.com/store/go-programming-language-9780134190440

535 :デフォルトの名無しさん:2016/03/12(土) 14:29:02.35 ID:BDXKc72j.net
http://postd.cc/why-go-is-not-good/
こういう不利な点があっても使われる理由ってなんだと思う?

536 :デフォルトの名無しさん:2016/03/12(土) 14:48:41.88 ID:SnyNHJuk.net
よく言われるのは、サーバーサイドでシングルバイナリのデプロイが楽とか。
unix上では、etcdやdockerコマンドみたいなところで使われてるよね。
GCもどんどん進化してるから、データストア的な大量メモリを扱うデーモンにも使えるようになってきてる。

537 :デフォルトの名無しさん:2016/03/12(土) 20:34:31.86 ID:DTB2KgOx.net
それTheGoProgrammingLanguageの翻訳だよね?

538 :デフォルトの名無しさん:2016/03/12(土) 21:00:42.17 ID:+ss4n7rx.net
早とちりして発売されたのかとおもったら、6/15予定だった。

539 :デフォルトの名無しさん:2016/03/15(火) 22:07:51.01 ID:vgWvBE4N.net
4月にも初心者向けの本出るのね

540 :デフォルトの名無しさん:2016/03/16(水) 10:59:19.14 ID:Tb17X3fe.net
だれかaltGo作ってくんないかな。
Goのエコシステムは最高だから、あとはもっとメタプログラミング強くしてほしい。
ジェネリクス付けて。

とTypeScript触りながら思いました。

541 :デフォルトの名無しさん:2016/03/19(土) 02:08:18.93 ID:lSlighbA.net
cからc++みたいに、go templateになりそう。

542 :デフォルトの名無しさん:2016/04/05(火) 21:09:51.29 ID:5i0FcrUo.net
原書 2015/11/5
http://www.amazon.co.jp/dp/0134190440/
翻訳 2016/6/15
http://www.amazon.co.jp/dp/4621300253/

原書カスタマレビューの「神話本の著者」はおおげさすぎるだろ

What a surprise to see the author of the mythic ≪ The C Programming Language ≫ come back for a new language

543 :デフォルトの名無しさん:2016/04/05(火) 22:39:31.14 ID:gPD3pwmd.net
まあカーニハンはかなりのビッグネームだし

544 :デフォルトの名無しさん:2016/04/05(火) 22:44:14.08 ID:mDmXAcnH.net
goってあんまり言語仕様が変化しないイメージだから
本は作りやすそう。
goの今後の予定ってドコに書いてるんです?

545 :デフォルトの名無しさん:2016/04/06(水) 15:19:43.14 ID:9UltHY9g.net
まあ、紀元前の本みたいなところはあるからね。

546 :デフォルトの名無しさん:2016/04/06(水) 15:27:24.96 ID:L63lM2I2.net
>>540
Ruby でも使ってればいいんじゃない

547 :デフォルトの名無しさん:2016/04/13(水) 14:39:12.21 ID:ndZ6lh6D.net
>>546
rubyは下位互換性を捨てながらマイナーバージョンアップしてないか?
たまにcocoapodsが死んだりするんだが。
goで書き直してほしい。コマンドラインツールこそgoで書いてほしい

548 :デフォルトの名無しさん:2016/04/20(水) 23:50:51.74 ID:ZQBKVnsi.net
>>540
c++から馬鹿をたくさん召還するだけだな。
いらん。

549 :デフォルトの名無しさん:2016/05/01(日) 15:24:29.85 ID:tKi6j9CT.net
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません


550 :デフォルトの名無しさん:2016/05/11(水) 11:14:37.67 ID:sA9FQTwa.net
goのいい記事あったら教えてくれませんか
GolangのGCを追う
http://deeeet.com/writing/2016/05/08/gogc-2016/
上記は良かったGo1.6以降のGCの調子が良さ気。だけどSTWを体感するようなものをつくッテはいないのでなんとも

551 :デフォルトの名無しさん:2016/05/11(水) 16:06:51.62 ID:eKmG0PfI.net
GoでWindows GUIアプリ作った猛者はおりますか?

552 :デフォルトの名無しさん:2016/05/11(水) 22:35:30.19 ID:024Ag8VN.net
http://golang.jp/pkg/exp-draw-x11
x serverあればどこでも動く

553 :デフォルトの名無しさん:2016/05/12(木) 06:10:52.87 ID:S2EnPjPz.net
>>551
WALKを使えばそれなりのものは作れるよ

554 :デフォルトの名無しさん:2016/05/12(木) 15:55:56.59 ID:wiVsZFfr.net
>> 550
Qt系の go-qml を使って普通に書いていますよ。
go-qml のインストールがすこし大変だけど
詳しい手順は以下の投稿したので参考にしてください。

https://groups.google.com/forum/#!topic/go-qml/S5Vho-XtQyo

555 :デフォルトの名無しさん:2016/06/01(水) 11:32:56.19 ID:sax7yxVA.net
Go言語先週から学習し始めたけど、何か変な言語だな
JavaScriptのようにいまいち不完全な言語に思えてしまう
突然意図しない挙動が発生したりで、なかなか基幹システムでは使いにくいのかな?
Javaのようなガッチリ感がない気がするので

でもシンプルさなど良い面もあるけれど

556 :デフォルトの名無しさん:2016/06/01(水) 15:06:00.18 ID:559HNr1m.net
誰もGo言語を基幹システム作るのに使おうとは思わんよ
銀の弾丸がないことを理解していない人間が評価という行為をするのは難しい

557 :デフォルトの名無しさん:2016/06/01(水) 15:43:26.33 ID:c7aWQBRE.net
銀の玉ってマ板でよく目にするけど元ネタ何なん

558 :デフォルトの名無しさん:2016/06/01(水) 15:46:05.83 ID:kIamMPov.net
人月の神話

559 :デフォルトの名無しさん:2016/06/01(水) 16:05:38.28 ID:c7aWQBRE.net
マジレスついた
ありがとう

560 :デフォルトの名無しさん:2016/06/01(水) 18:48:22.39 ID:2G+PcsXp.net
>>556
残念ながら、世界中の国家の機関になりそうなシステムをGoで書いてるんだな、今

561 :デフォルトの名無しさん:2016/06/01(水) 19:23:38.40 ID:559HNr1m.net
多分、基幹システムの認識がずれている

562 :デフォルトの名無しさん:2016/06/01(水) 19:24:47.53 ID:+8tVRjk4.net
どうでもいいが 555 と 559HNr1m で 5 が 5個入ってるな

563 :デフォルトの名無しさん:2016/06/01(水) 19:26:34.98 ID:559HNr1m.net
555をファイズと読んでしまった俺の認識も多分間違っている

564 :デフォルトの名無しさん:2016/06/01(水) 20:15:06.92 ID:0Dfr5L+i.net
国家の機関になりそうなシステムってものすごいフレーズだな

565 :デフォルトの名無しさん:2016/06/01(水) 22:56:48.57 ID:tjGnKxey.net
LLやってる人からすると、バイナリをgdb使ってデバッグするのは教えてもらわないとなかなか難しいかも。
phpやrubyやってても普段からIDEでデバッガ使ってればそんなに違いはないんだけどね。

566 :デフォルトの名無しさん:2016/06/02(木) 00:19:36.30 ID:M2BPbwci.net
既出かもだけど、俺コレには震えた

http://qiita.com/mattn/items/b7889e3c036b408ae8bd

567 :デフォルトの名無しさん:2016/06/02(木) 04:24:28.34 ID:cXOBdHTr.net
>>555
その意図しない挙動という部分を具体的に出してもらいたい。
大概そういうのは言語のせいじゃなくて自分のせい。というのを
長い年月で繰り返して学習するもんだけども

568 :デフォルトの名無しさん:2016/06/02(木) 09:51:15.12 ID:KfXFMNM2.net
>>567
そういうことも考えずに書いてるから突っ込まれてんじゃないの?

569 :デフォルトの名無しさん:2016/06/02(木) 10:03:29.88 ID:sFcAoyCt.net
func later() func(string) string {
...
return func(g string) string {
...
}
}
ごめん、このクロージャの最初の部分のlater() func(string) stringってどういう意味?
関数名がlater 戻り値がstringは分かるけど、func(string)がなんでこんな場所に書かれてるのかな、と

570 :デフォルトの名無しさん:2016/06/02(木) 10:16:38.46 ID:mKtftCeF.net
laterの返り値がstringを引数にとってstringを返り値とする関数という意味では?

571 :デフォルトの名無しさん:2016/06/02(木) 12:02:45.10 ID:sFcAoyCt.net
う〜ん、難しい...

572 :デフォルトの名無しさん:2016/06/02(木) 13:52:28.11 ID:cXOBdHTr.net
>>571
cの宣言構文より見やすいはずなんだけどね

http://qiita.com/m0a/items/2b03b189d746ae231756
この辺読むとか

573 :デフォルトの名無しさん:2016/06/02(木) 15:52:21.01 ID:sFcAoyCt.net
>>570
あぁ、なるほど
ようやく今理解した

func later() [func(string) string] {
[]は見やすいようにわざと書いたけど、こういう事だね

関数laterは引数は取らずに、
返り値として「stringを引数に取り、stringを返り値として返す」

574 :デフォルトの名無しさん:2016/06/02(木) 16:09:51.23 ID:sFcAoyCt.net
あれ、ちょっと待って

https://ideone.com/i9EfQl

later()は引数取らないけれど、
f := later()
f("apple")
どっからstoreに"apple"なんか文字列引数が渡されてるの?
こういう型の場合、ローカル変数(ここではstore)にコンストラクタのような働きが起って自動的に引数がセットされるって事?

575 :デフォルトの名無しさん:2016/06/02(木) 16:14:42.71 ID:sFcAoyCt.net
連投ごめん
f := late()
によって、fはlater()の返り値の関数を取得してるんだね
だから、f("apple")には上の無名関数func(string) stringが呼び出されて"apple"が引数とされているってことか
ごめん、分かった

576 :デフォルトの名無しさん:2016/06/03(金) 17:56:32.51 ID:BR7tIPAt.net
http://mattn.kaoriya.net/software/lang/go/20131112132831.htm

これの最初のコードの最後の部分、
<-workerquit
は何をしてるの?

特に変数に代入することもないし

func (g *G) ClearMsg() {
for len(g.task) > 0 {
<- g.task
}
}
も同じ事してるけど
チャネルを開放してるのかな、とも思ったけど、明示的にcloseしなくていいのかな、と
またはnilや空文字などにするとか

577 :デフォルトの名無しさん:2016/06/03(金) 19:00:57.59 ID:qwZkBXwi.net
終了待ちじゃない?
http://ashitani.jp/golangtips/tips_goroutine.html#

578 :デフォルトの名無しさん:2016/06/04(土) 20:36:19.02 ID:OVOooqIv.net
windows版のbuildmodeはexeしかできないの?
もしできるならスクリプト言語のrequireみたいに動的な読み込みとかできる?
さらにもしできたとしてunload的な名前空間の削除は?

579 :デフォルトの名無しさん:2016/06/06(月) 11:35:10.38 ID:4GD0zoa3.net
>>577
遅くなったけど返答ありがと

そうなんだ
終了待ちとかあるんだ
普通にやることなければその場でkillのように終了させたほうがいい気もするけど、Goは一気にまとめて終了させるってことなのかな?

580 :デフォルトの名無しさん:2016/06/06(月) 13:30:02.95 ID:u3gzbyWM.net
>>579
終了待ちのところをコメントアウトして実行してみると分かると思うけど、終了待ちしないとgoroutineを回し切る前にmainが先に終わってしまう

581 :デフォルトの名無しさん:2016/06/07(火) 20:01:20.35 ID:UCJwx0XG.net
>>580
ありがとう

582 :デフォルトの名無しさん:2016/06/08(水) 00:14:44.49 ID:sUO1i6Sl.net
https://ideone.com/SqM9XQ
インターフェースを実装して利用しようとしたんだけど、ShowMessage()が動かなくて
どこをどう変えればいい?

583 :581:2016/06/08(水) 00:28:26.77 ID:sUO1i6Sl.net
あぁ、ごめん
fmt.Println(mes.ShowMessage())にすればいいんだね

584 :デフォルトの名無しさん:2016/06/08(水) 12:03:24.49 ID:E58O1JXH.net
https://ideone.com/ZPQ1ib

SetProfile()にて、構造体Profileのフィールド値を動的に変えたいんだけど、
どのように書き換えればいい?

585 :デフォルトの名無しさん:2016/06/08(水) 13:40:28.97 ID:6nwZJnu3.net
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)

586 :デフォルトの名無しさん:2016/06/08(水) 14:51:56.44 ID:E58O1JXH.net
>>585
ほんとだ、ありがと
俺バカだなぁ

しかし、もし上記のような場合って処理できるのかな?
for k, v := range arr {
switch k{
case

587 :デフォルトの名無しさん:2016/06/08(水) 15:28:46.54 ID:E58O1JXH.net
switch k{ case 'Your_name': p.Your_name = v; } } のような処理は考えうるけど、
Pythonでいうsetattr(self, k, v)のようなこと出来ないのかなと思ったり

588 :デフォルトの名無しさん:2016/06/08(水) 16:47:30.19 ID:6nwZJnu3.net
んー、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)
}
}
}

589 :デフォルトの名無しさん:2016/06/10(金) 11:21:56.11 ID:+PET1099.net
>>588
ありがとう
上手く動作しました

590 :デフォルトの名無しさん:2016/06/10(金) 11:28:41.43 ID:+PET1099.net
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

591 :デフォルトの名無しさん:2016/06/10(金) 11:50:51.12 ID:DB1UcVrL.net
return *Human{



return &Human{

にする

592 :デフォルトの名無しさん:2016/06/10(金) 12:35:52.40 ID:xyNxE4XD.net
go playground使おうぜ実行できるし

https://play.golang.org/p/8pEGG3kdhH

593 :デフォルトの名無しさん:2016/06/10(金) 22:32:36.41 ID:+PET1099.net
>>591
ありがとう

594 :デフォルトの名無しさん:2016/06/11(土) 01:51:48.80 ID:vokBGi10.net
>>588
https://ideone.com/rGIVZU
このような場合は上手くいったけど、

https://ideone.com/86I4on
このように、構造体に2つの構造体が埋め込まれていて、それらに更に動的にメンバ変数に値を入れていくとなるとどうすればいいのか悩んでるんですが
コメントで★を入れた部分はどのように記述すれば良いのか全く分からず半日くらい費やしてます(苦笑)

595 :デフォルトの名無しさん:2016/06/11(土) 02:54:26.06 ID:ncrPm/bC.net
とりあえずは即時関数で。

return &Profile{
mine: func() (m MyProfile) { m.SetProfile(arr["me"]); return }(),
yours: func() (y YourProfile) { y.SetProfile(arr["you"]); return }(),
}

596 :デフォルトの名無しさん:2016/06/11(土) 12:57:03.40 ID:5N4sydIU.net
>>595
ありがと
本当に助かりました
自分には浮かばない発想でした

しかし、一つ聞きたいのは、
func NewProfile(arr map[string]map[string]interface{}) *Profile {
var m MyProfile
var u YourProfile
return &Profile{
mine: m.SetProfile(arr[

597 :デフォルトの名無しさん:2016/06/11(土) 12:58:26.45 ID:5N4sydIU.net
>>595
ありがと
本当に助かりました
自分には浮かばない発想でした

しかし、一つ聞きたいのは、
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()を呼び出さないと上手くいかないんですかね?

598 :デフォルトの名無しさん:2016/06/11(土) 13:19:00.18 ID:ncrPm/bC.net
色々書き換えたバージョン
http://ideone.com/5rnnHW

599 :デフォルトの名無しさん:2016/06/11(土) 13:26:31.32 ID:ncrPm/bC.net
>>597

m.SetProfile(arr['me'])

この場合、副作用だけ(オブジェクトに値がセットされるだけ)なので、
return m とする(オブジェクトを返す)必要があるのです。

とは言うものの、SetProfile はメソッドではなく通常の関数でも良いのでは?
と思ったので http://ideone.com/5rnnHW ではそうしています。

600 :デフォルトの名無しさん:2016/06/11(土) 13:44:39.08 ID:5N4sydIU.net
>>599
なるほど、良く分かりました
別の方法も教えていただきありがとうございました
勉強になりました

601 :デフォルトの名無しさん:2016/06/11(土) 14:12:16.15 ID:JfIPVaDb.net
>>591
func NewHuman(name string, jobname string, position string) Human { return Human{ 〜
としても動くけど、これだと値渡しになって
h1 := NewHuman("Shinzou Abe", "politician", "prime minister") 呼んだときにも
中で1回コピー起こって無駄だから参照渡しにするってことでいいの?

602 :デフォルトの名無しさん:2016/06/11(土) 22:32:52.72 ID:oEY46iar.net
Javaで言う、ScannerのNextInt()みたいなのってGoには無いの?
bufioのText()しか調べても出てこないんだけど、これを型キャストしろってことなのかな?

scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
n := scanner.Text()
これをn.(int)って感じ?

603 :デフォルトの名無しさん:2016/06/11(土) 23:01:07.51 ID:oEY46iar.net
型キャストというより、ParseInt()だね、ごめん

604 :デフォルトの名無しさん:2016/06/17(金) 15:30:55.46 ID:De9+BeR4.net
出た。

プログラミング言語Go 
Alan A.A. Donovan, Brian W. Kernighan 著
柴田芳樹 訳     
発行元:丸善出版(株)

605 :デフォルトの名無しさん:2016/07/10(日) 22:27:22.81 ID:znpcZSb6.net
var t *time.Time = & time.Now()
とやると
cannot take the address of time.Now()
って出るんですけどなんでダメなのか教えて下さい

606 :デフォルトの名無しさん:2016/07/15(金) 07:53:12.02 ID:nL6yLCLX.net
>>605
t := time.Now()

607 :デフォルトの名無しさん:2016/07/15(金) 11:24:05.90 ID:tpc0LssI.net
t := & time.Time{}

ts := time.Now()
t := &ts
みたいにアドレスで変数に保管したいってことだろ

ttps://golang.org/ref/spec#Address_operators
言語仕様上、&演算子が変数か構造体(のコンストラクタ)しか認めてない感じ?
実態の持ち主が行方不明になる可能性があってGCが動かなくなるのかねぇ

608 :デフォルトの名無しさん:2016/07/17(日) 03:13:59.59 ID:rRft+gba.net
ポケモンGOとコラボしてGopher出してもらおうぜ
このビッグウェーブ、乗るしかない

609 :デフォルトの名無しさん:2016/07/17(日) 17:14:53.70 ID:Nge5kW2D.net
Gopher君がswiftするのか

610 :デフォルトの名無しさん:2016/07/18(月) 12:14:48.69 ID:nr1pGxnF.net
Golangius II 〜Gopherの野望〜

611 :デフォルトの名無しさん:2016/07/20(水) 00:44:12.39 ID:7krjkQOF.net
1.6.3が出てた

612 :デフォルトの名無しさん:2016/07/20(水) 21:59:45.12 ID:ZQpbH517.net
golang でWeb開発してる人にお聞きしたいんですけど
db周りってどうしてますか?
tableごとに構造体を用意した場合、単純に1tableをSELECTする分にはなんの問題もないんでしょうけど
joinしまくってた場合、各クエリごとに構造体を作ってる感じでしょうか?
そんなのだるいですよね。
どうしてるのか教えて下さい。

613 :デフォルトの名無しさん:2016/07/21(木) 18:53:09.50 ID:Vj/xPVWN.net
mongoDB

614 :デフォルトの名無しさん:2016/07/22(金) 08:29:35.69 ID:eNFBzZ6U.net
golangとかgo言語をスレのタイトルにしないとググりづらいな。

615 :デフォルトの名無しさん:2016/07/22(金) 13:59:08.89 ID:f6dSUOKk.net
pokemon Go Go

616 :デフォルトの名無しさん:2016/07/22(金) 14:02:04.61 ID:hQsD+JBa.net
Go の偽物出まくってるなω

617 :デフォルトの名無しさん:2016/07/23(土) 14:35:34.70 ID:6lYjBmg5.net
Ninjin Go

618 :デフォルトの名無しさん:2016/07/25(月) 01:34:14.20 ID:gKUS+J/f.net
(´・ω・`)スキーマを作るツールで構造体を更新してる

619 :デフォルトの名無しさん:2016/07/25(月) 09:12:05.48 ID:aFElPnA5.net
それってxoのことです?
SELECTの時はどうしてます?join禁止?

620 :デフォルトの名無しさん:2016/07/25(月) 09:19:11.89 ID:l5ht4z0Z.net
selectするカラムのサイズのインターフェース型の配列を作って渡すじゃだめなの?

621 :デフォルトの名無しさん:2016/07/25(月) 10:20:31.42 ID:RKFFw9Lx.net
コードをチェックするときに
gofmtとgolintを設定したんですが両方共エラーがあった時に同じエラーを吐きます
どっちか一つでチェックさせれば良いんでしょうか?

622 :デフォルトの名無しさん:2016/07/26(火) 12:09:28.79 ID:oKnTJYes.net
いいね
https://developers.eure.jp/tech/go-appengine-sql-waf/

623 :デフォルトの名無しさん:2016/07/29(金) 12:02:23.83 ID:eVXiLh5P.net
github死んだらgoどうなってしまうん?

624 :デフォルトの名無しさん:2016/07/29(金) 16:21:55.80 ID:vOn8ke2v.net
進化して gone になるよ

625 :デフォルトの名無しさん:2016/08/03(水) 12:29:51.75 ID:48QXmcl+.net
この言語についてすこし気になっています。
例えばC言語のようにビット単位での操作などはできますか?
言い換えると、組み込みやOSカーネルのプログラミングなどは視野にあるのでしょうか?
またはC言語を完全に置き換える存在になりえますか?

626 :デフォルトの名無しさん:2016/08/03(水) 13:17:02.98 ID:mbys/AN5.net
goよりgithubの方が長生きするんでね

627 :デフォルトの名無しさん:2016/08/03(水) 13:18:36.00 ID:mbys/AN5.net
>>625
Windows用のDLLがc-sharedで作れるようになればなー

628 :デフォルトの名無しさん:2016/08/03(水) 23:48:20.25 ID:MhEWRRuh.net
>>625
gc前提の言語だからあり得ない。
選ぶとしたらrustとかじゃないかな

629 :デフォルトの名無しさん:2016/08/04(木) 01:10:59.73 ID:BIHJkeI+.net
GC前提っていうけど、objective-cやswiftみたいにARCでリソース解放してやることはできないのかな?

630 :デフォルトの名無しさん:2016/08/04(木) 11:14:28.20 ID:Ul5WpRfd.net
>>629
GCを切るというオプションはないと思う
そういう小回りを聞かせたいならrustとかC++を選ぶしかない。

631 :デフォルトの名無しさん:2016/08/04(木) 11:56:34.90 ID:8anV95gh.net
gokiburi

632 :デフォルトの名無しさん:2016/08/04(木) 11:58:01.10 ID:8anV95gh.net
OSだってそれ自身でGCやってるしなー
作業中にいきなり固まってHDDゴロゴロ言わせて
時計も止まってマウスも動かない
30分くらい放置してたら治ったり

633 :デフォルトの名無しさん:2016/08/04(木) 12:59:03.09 ID:SddwJFqD.net
GCはオプションではないようですね。
もうすこし調査が必要なようです。
ありがとうございました。

634 :デフォルトの名無しさん:2016/08/05(金) 10:46:10.99 ID:DVDTMi5M.net
>>632 それスワッピングだろ

635 :デフォルトの名無しさん:2016/08/05(金) 10:46:42.21 ID:DVDTMi5M.net
swappingをカタカナで書いたらあぼーんされた

636 :デフォルトの名無しさん:2016/08/05(金) 11:02:44.30 ID:h08emFzO.net
>>634
メモリが足りなくなった時にキャッシュを解放して、コンパクションを走らせてるという動きは似たようなもの、と
言いたかったんじゃね?

637 :デフォルトの名無しさん:2016/08/05(金) 13:39:10.50 ID:r9Q5JMfz.net
ちょっとだけスレ違いかもだけど
kindle unlimitedとかいう電子書籍読み放題プラン始まって
技術書みてたらgoの入門書1.6対応版みつけた。
ttps://www.amazon.co.jp/dp/B01FH3KRTI/ref=cm_sw_r_tw_dp_x_TwbPxbN1BHQKM

結構読みやすい。

638 :デフォルトの名無しさん:2016/08/06(土) 00:06:34.76 ID:ukQkptRq.net
IT関連は今のところ、ほぼその本出してる翔泳社だけかな?
アメリカの方探してみたけど、そっちはどこも参加してない気がする。

639 :620:2016/08/06(土) 17:15:53.39 ID:TNYUaRVo.net
どなたかおねがいします

640 :デフォルトの名無しさん:2016/08/06(土) 22:25:22.14 ID:i/Otvl/9.net
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

641 :デフォルトの名無しさん:2016/08/24(水) 21:36:46.93 ID:JcWOBO6t.net
loopのネストが多いと、go1.7で遅くなるらしい
SSAの関係で。

ttp://shinpei.github.io/blog/2016/08/13/what-ssa-brings-to-go-17/

俺のプログラムも遅くなった。。。orz

642 :デフォルトの名無しさん:2016/09/18(日) 18:26:45.57 ID:5S/llOjA.net
Goの型システムが貧弱とかよくdisられるけど
ジェネリクスが無い以外はわりとイマドキな言語だと思う
interfaceは構造的部分型付けっぽいし
既存の型に別名付けて拡張出来るし

643 :デフォルトの名無しさん:2016/09/18(日) 21:51:09.47 ID:FLMBUfED.net
まともなラムダ式もmap関数もない言語がイマドキ?

644 :デフォルトの名無しさん:2016/09/18(日) 22:41:40.24 ID:20H6rWEl.net
RoRライクなGoのWebFWで軽量なものはどれでしょうか?

645 :デフォルトの名無しさん:2016/09/19(月) 00:21:18.59 ID:TVgh+rIf+
Web Application Framework
WAFね

646 : ◆SEdFBOkLSw :2016/09/19(月) 01:20:18.20 ID:uQftjblX.net
イマドキではないな。
既視感あふれる感じ。
レシーバで関数書いていけるのが1番気持ちいい。気が狂ってからのLispみたい。
チャンネルは凄く楽だし。

>>642
ジェネリクス、あったら良いなと思うけど、無くても、型名にいちいち名前つけて、適当にインターフェイスに参加させていけば、割としっくりくるスライスになるよ。

647 :デフォルトの名無しさん:2016/09/19(月) 15:39:21.23 ID:yKbgweKY.net
>>644
golang railsでググったら適当に出てくるけど調べたの?

648 :デフォルトの名無しさん:2016/09/19(月) 16:25:57.74 ID:UScDXP8E.net
もちろん調べました。
revelとbeegoですね。
ただこれは重いらしいので、あと使用雑感とか日本人の意見を聞きたいのですが。

649 :デフォルトの名無しさん:2016/09/19(月) 18:10:05.55 ID:7Lx9kgsv.net
>>646
一応ジェネリクスは検討中ではあるんだよね。
結構あったらいいのにという場面はある。
それ以外は割といい感じ。エコシステムがいい。Editorも今や静的言語のメリットちゃんと享受できるし。
VSCいい。

650 :デフォルトの名無しさん:2016/09/19(月) 20:06:21.83 ID:6UZeJb4L.net
>>648
自分で使ってみればいいんじゃない

651 :デフォルトの名無しさん:2016/09/19(月) 20:43:34.00 ID:UScDXP8E.net
あ、このスレたってから3年もたってるんですね
サボって使用雑感なんて期待しちゃいけない感じか
しょうがないから自分で検証してみます

652 :デフォルトの名無しさん:2016/09/19(月) 23:21:43.10 ID:7Lx9kgsv.net
>>651
ここには大した有識者はいないと思う。
かと言ってどこにいるんだろうね?twitterに投げてみるとか

653 :デフォルトの名無しさん:2016/09/20(火) 00:29:26.51 ID:dodRqZqD.net
サービスやってるとこので聞くのは、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/

654 :デフォルトの名無しさん:2016/09/20(火) 13:57:24.92 ID:aC9BpWa+.net
ここまでGoogle社員の書き込み

655 :デフォルトの名無しさん:2016/09/21(水) 12:11:38.43 ID:cQpnCnIx.net
重いらしいじゃなくて何で自分で試さないの?

656 :デフォルトの名無しさん:2016/09/21(水) 12:36:40.08 ID:bQEJ8r3q.net
重いかどうかが問題になるレベルまで試すのは現実的に無理があるだろ
まあそもそもほとんどのアプリは使っている言語やフレームワークが重いかどうかが問題になる前に消えるわけだが

657 :デフォルトの名無しさん:2016/09/21(水) 13:18:40.11 ID:WoI1CsQe.net
どうせPとかRがつく言語からの乗り換えでしょ?
どれ使っても軽いって

658 :デフォルトの名無しさん:2016/09/21(水) 13:40:44.80 ID:K/wMuhbh.net
>何で自分で試さないの?
比較対象がわからないからだろ

659 :デフォルトの名無しさん:2016/09/21(水) 15:42:52.36 ID:DBqUEw9E.net
>>658
比較対象が何かわからないなら
awesome go とかで検索すればいいよ。
https://github.com/avelino/awesome-go#web-frameworks
アホみたいにフレームワークがあるけど

660 :デフォルトの名無しさん:2016/09/21(水) 16:03:39.59 ID:1PEot0Hq.net
ID変えて自演してるような気もするけど
ベンチマーク取れば重いかどうか数字で表せるよね

661 :デフォルトの名無しさん:2016/09/21(水) 16:57:31.37 ID:/5f1YfeX.net
枯れ木も山の賑わい

662 :デフォルトの名無しさん:2016/09/21(水) 18:46:11.33 ID:K/wMuhbh.net
>>659
そのリストじゃRails風かどうかまではわからないからな
それを調べるためだけに1個ずつインストールしてまで使う労力を求めてる不親切なコミュニティだわ
まあそれが日本でのGoのあり方なんだろうが

663 :デフォルトの名無しさん:2016/09/21(水) 20:55:56.41 ID:WoI1CsQe.net
キリッ

664 :デフォルトの名無しさん:2016/09/21(水) 21:15:31.01 ID:DBqUEw9E.net
>>662
readmeくらい読めばいいよ。
なにを参考にしたフレームワークくらいかはわかるでしょ

665 :デフォルトの名無しさん:2016/09/21(水) 23:06:50.01 ID:C/0XZtBi.net
ActiveRecordのつくり込みしてない実装は意外と面倒だったりするんだけど、goで使ったことないのでわからん。
クエリービルダーなら何かあるかも。
複数テーブル使うこともないので、今のところDBまわりは簡単にDTOみたいな実装で済ましてる。

666 :デフォルトの名無しさん:2016/09/22(木) 01:47:25.32 ID:QBrMY9aw.net
自分が欲しい物を他力本願で自分で調べない奴はプログラミングに向いてない

667 :デフォルトの名無しさん:2016/09/22(木) 02:57:18.49 ID:nr+L07o8.net
そうですか

668 :デフォルトの名無しさん:2016/09/22(木) 08:30:29.12 ID:hF82WAHq.net
うむ

669 :デフォルトの名無しさん:2016/09/22(木) 10:18:25.14 ID:7A/wc93b.net
railsみたいなのがいいならrails使っとけばいいだろ?
なんでgolang使おうと思ってるの?

670 :デフォルトの名無しさん:2016/09/22(木) 11:10:54.24 ID:y4xL8ywB.net
Goは基本的にCなので、ゼロから作りこむような複雑な処理がそのまま移植できる。
Rubyだと、extensionをCで書かないといけなくなる。

671 :デフォルトの名無しさん:2016/09/22(木) 11:24:25.38 ID:sBPmoePF.net
goでDB扱おうとすると動的言語のほうが楽だと痛感するけどね
単純なテーブルに対するcrudなら構造体作って対応できるけど
joinしたりとかすることも考慮するとそうも行かない。
素直にrailsでいいんじゃね

672 : ◆SEdFBOkLSw :2016/09/22(木) 13:36:58.94 ID:3pIcfs21.net
ORM使うからじゃないの?
JOINして使う結果とJOINせず単独で使う結果はそれぞれ別の構造体になってしかるべきな気がする。
あんまRDB使わないけど。
集合検索結合集計なシステムと手続き型とオブジェクト型と関数型、どれ同士を組み合わせても、インピーダンスミスマッチは仕方ないんだから、どっちかで歩み寄らなきゃ何ともならんような。

階層型とばっかり組み合わせてるけど、言語側はわりと世代交代早いからDB側でストアド書いてるわ。

673 :デフォルトの名無しさん:2016/09/22(木) 15:05:14.76 ID:Ob4qBdWH.net
時代はとっくにKVSですが

674 :デフォルトの名無しさん:2016/09/22(木) 15:18:49.00 ID:W5CYuFDy.net
KVSとRDBじゃ微妙に用途違うじゃん

675 :デフォルトの名無しさん:2016/09/22(木) 15:19:40.46 ID:sug0rqOR.net
mvcではなくrails的なもので高速という話なら、goで探すよりphoenix framework/elixerみたいなのを先に触った方がいいのでは。

676 :デフォルトの名無しさん:2016/09/22(木) 15:29:49.16 ID:nr+L07o8.net
検索系ならRDB一択やろKVSでも実装はできるけどめんどくさすぎ

677 :デフォルトの名無しさん:2016/09/22(木) 15:32:16.50 ID:sBPmoePF.net
RDBからKVSに行ってやっぱRDBがいいやと言う流れじゃないの?
mongodbとか使ってるやついるのか今

678 :デフォルトの名無しさん:2016/09/22(木) 21:41:56.84 ID:sBPmoePF.net
>>672
結局ビジネスロジックをどっち側に寄せるかという話になるんだろうけど
ストアドプロシージャは素朴なコードしかかけないから抽象化しづらいと思うんだけど
書いたことがないから想像でしかないけど。

でもgolangの場合は抽象化しきれないからストアドプロシージャ側にロジックを寄せて実装はありなのかもしれない

679 :デフォルトの名無しさん:2016/09/22(木) 22:16:03.79 ID:243X6jbN.net
クロスコンパイルとかでpure goにしたければ、KVSしかない。

680 :デフォルトの名無しさん:2016/09/22(木) 22:24:25.35 ID:7A/wc93b.net
phoenixも速いよ
pingだけだったらレスポンスμsで返ってくるよ

681 :デフォルトの名無しさん:2016/09/22(木) 23:18:15.37 ID:P28LZX5F.net
>>679
イミフ
Pure Goなdatabase/sqlのドライバは沢山あるがな

682 :デフォルトの名無しさん:2016/09/23(金) 11:19:01.19 ID:iqtk0HU6.net
>>681
多分だけどpureGoでkvs側もgo製のをつかってkvsも含めてワンバイナリにしたいってことなんじゃない?boltとか

683 :デフォルトの名無しさん:2016/09/23(金) 14:15:45.15 ID:Pu19XfH5.net
>>678
割と書けるよ。ただ、パワーバランスにもよるけど。
番号発行を伴う複数の関連するデータの保存や削除なんかはDBに任せた方が良い場合もそこそこある。
テキトーにORMで雑然と入れがちだけど、根本的にオブジェクトと行が一対一にならなければ、一対一の操作やらビューを用意すべきだと思う。

684 :デフォルトの名無しさん:2016/09/24(土) 11:16:44.44 ID:oYgGfkv1.net
>>677
人気はそこそこある模様
http://db-engines.com/en/ranking

685 :デフォルトの名無しさん:2016/09/24(土) 17:55:17.45 ID:cuT9UNDj.net
慣れてるしmongodb使ってるよ
sqliteのほうがよく使ってるけど

686 :デフォルトの名無しさん:2016/10/04(火) 16:24:32.16 ID:m5Lh6Epv.net
>>542
70過ぎで新しい言語覚えるとか凡人には無理そうw


Brian Kernighanがプログラミング言語Goの組版に使ったのはなんとtroff
https://cpplover.blogspot.jp/2016/04/brian-kernighangotroff.html?m=1

687 :デフォルトの名無しさん:2016/10/04(火) 16:39:32.48 ID:ZPmHgmj0.net
>L&RのKであり

冒頭からアホ丸出し

688 :デフォルトの名無しさん:2016/11/02(水) 12:09:01.86 ID:txovE4qH.net
Go言語のゆるキャラ何だよあれ。
ゆるキャラのデザインは言語の普及率に無関係じゃないと思うぜ。

689 :デフォルトの名無しさん:2016/11/02(水) 12:42:22.12 ID:pD2pdTer.net
俺もあのキャラで食わず嫌いしてた
今でも見るたびにぶん殴りたくなる

690 :デフォルトの名無しさん:2016/11/02(水) 13:02:39.06 ID:yVmWsAjP.net
世間的にはかわいいんだろう、およねこぶーにゃん

691 :デフォルトの名無しさん:2016/11/02(水) 13:24:03.26 ID:/PKnCRlb.net
どうでもいい

692 :デフォルトの名無しさん:2016/11/02(水) 16:47:06.78 ID:db1quxwb.net
およねこぶーにゃん 似てるな

693 :デフォルトの名無しさん:2016/11/02(水) 17:40:08.31 ID:NdsHEbPc.net
およよ

694 :デフォルトの名無しさん:2016/11/02(水) 19:52:12.13 ID:9MvPcR4P.net
Youtubeでgopherを検索すると駆除動画が大量にひっかかるから気をつけろ

695 :デフォルトの名無しさん:2016/11/02(水) 21:02:05.36 ID:9HL1sB1G.net
ゆっくりみたいになってんの?

696 :デフォルトの名無しさん:2016/11/03(木) 00:22:20.82 ID:94UsH5fp.net
どう足掻いてもキモい(かわいい)
1番上の2001年ごろの本にもいるね。
http://glenda.cat-v.org/friends/

697 :デフォルトの名無しさん:2016/11/03(木) 03:39:13.40 ID:iYejUQc8.net
80年代からいるはず

698 :デフォルトの名無しさん:2016/11/04(金) 20:23:44.63 ID:m0/gbw+8.net
golangでググるとgolang-jp.orgが一番上にヒットするけど
これは公式で認められたサイト?

699 :デフォルトの名無しさん:2016/11/06(日) 23:12:50.69 ID:NZCpJm/D.net
非公式だろ
ライセンス的には著作権表示さえしてれば問題ないことになってる
でも日本語じゃなきゃダメって人にはGoはお勧めしない

700 :デフォルトの名無しさん:2016/11/08(火) 13:10:36.86 ID:afLUgDEA.net
別に日本語の情報も出揃い始めてるし
日本語onlyの人でもそろそろ使えると思う。
でもgolang-jpってコミュニティの中心に近い人が運用している感じがしないのが不安

701 :デフォルトの名無しさん:2016/11/08(火) 13:11:45.51 ID:afLUgDEA.net
>>700
http://golang.jp/ と勘違い。すまぬ

702 :デフォルトの名無しさん:2016/11/18(金) 18:19:10.73 ID:0j66y/nm.net
日本語じゃなきゃダメって人はなでしこ以外選択肢ないんじゃね
Go言語という日本語以外の言語を扱おうとする時点でオワットル

703 :デフォルトの名無しさん:2016/11/18(金) 19:29:14.49 ID:e+81aozX.net
織田信長

704 :デフォルトの名無しさん:2016/11/21(月) 15:48:15.04 ID:lyJfcZnk.net
ぴゅう太探してこなきゃっ><

705 :デフォルトの名無しさん:2016/11/22(火) 10:24:50.70 ID:uKd48bt3.net
日本語でググったり質問したり出来なきゃ使い物にならん
ってのは別におかしくない

最低限のマニュアルやエラーメッセージすら読まないレベルなら排除すべき

706 :デフォルトの名無しさん:2016/12/21(水) 09:11:00.18 ID:rs5TCfU6.net
ウイルススキャンで go1.7.4.windows-386.zip の go/pkg/tool/windows_386/trace.exe が Trojan:Win32/Skeeyah.A!rfn と判定されたんですけど、語検出だと思いますか?

707 :デフォルトの名無しさん:2016/12/21(水) 12:34:37.87 ID:UOM+5F1I.net
ウイルススキャンに何て名前のソフト使ってんだよ

自分の行動を明確にしないと、有用かも知れない情報であっても風説の流布と同じ扱いにされる事に早く気づけよ

708 :デフォルトの名無しさん:2016/12/21(水) 12:42:31.87 ID:YBja8gxe.net
VirusTotalにでも投げてどうぞ

709 :デフォルトの名無しさん:2016/12/21(水) 16:22:35.54 ID:rs5TCfU6.net
>>707
MSEです
指摘ありがとう
今後気を付けます


>>708
そこで試してみます
ありがとう

710 :デフォルトの名無しさん:2016/12/22(木) 04:50:05.52 ID:jVrDGj21.net
>>707-708
結果を報告します
ダウンロードしたgo1.7.4.windows-386.zipのSHA256のハッシュはサイト上のものと一致しました
zipを展開しtrace.exeだけをVirusTotalにアップロードしました
ウィルススキャン56個中13個がTrojan判定したみたいです、多数決という考え方でいえば誤検知だったのだと思われます

https://www.virustotal.com/ja/file/cd4b6551da15d172a61f4cefcbba77c0fde1932fee9ab0879cb1cf126a5d39fd/analysis/1482349209/

711 :デフォルトの名無しさん:2016/12/22(木) 11:20:58.30 ID:yrFazDqV.net
go1.8リリース予定日を教えて

712 :デフォルトの名無しさん:2016/12/24(土) 07:00:03.75 ID:Y/bvEAMg.net
https://play.golang.org/p/h2QL6YcUQJ

ダサイ

713 :デフォルトの名無しさん:2016/12/24(土) 07:36:38.25 ID:Y/bvEAMg.net
https://play.golang.org/p/WtVTVEMr2-

どうもうまく作れねえ

714 :デフォルトの名無しさん:2016/12/24(土) 10:57:29.42 ID:I9wFmGZn.net
>>712
interface{} 使うとか(場合によって type assertion が必要だけど)

https://play.golang.org/p/Pc7VnMBcYA

715 :デフォルトの名無しさん:2016/12/24(土) 15:25:12.26 ID:Y/bvEAMg.net
>>714
これいいね
ありがとう

716 :デフォルトの名無しさん:2016/12/25(日) 16:55:37.58 ID:MSs3MIcU.net
>>710
そのリンク先の「最新を表示」をクリックすると、56個中24個に増えるね。
誤検出なら減っても良さそうな気がするが……。

717 :デフォルトの名無しさん:2016/12/25(日) 18:22:44.28 ID:2u3ictDv.net
goglandどうですか

718 :デフォルトの名無しさん:2016/12/26(月) 01:08:57.47 ID:t1RDiD7h.net
>>716
32bitWindows版だけの問題なら被害はそう多くなさそうだし大丈夫じゃね

719 :デフォルトの名無しさん:2016/12/27(火) 15:50:30.60 ID:z3Z5XFyz.net
>>716
さらに増えてる…

720 :デフォルトの名無しさん:2016/12/29(木) 05:47:14.37 ID:958/OC8Q.net
>>706
redditでも似たようなこと言ってる奴いるな
https://www.reddit.com/r/golang/comments/5jijc9/antivirus_reports_traceexe_go_174_windows_x86_as/

721 :デフォルトの名無しさん:2017/01/03(火) 01:16:19.18 ID:HKX7d2sm.net
デフォのパッケージのソースコードを見てるとBSDライセンスになってるけど
デフォのパッケージを使う場合はそれらのBSDライセンスというのを記述しなきゃだめ?

https://golang.org/pkg/builtin/
https://golang.org/src/builtin/builtin.go
https://golang.org/LICENSE

722 :デフォルトの名無しさん:2017/01/03(火) 01:22:49.11 ID:HKX7d2sm.net
https://speakerdeck.com/nabeken/go-and-license
これ読んだ感じだとgoで作った物にはgo言語のライセンス文等を含める必要があるっぽい?

723 :デフォルトの名無しさん:2017/01/11(水) 19:06:49.30 ID:AM+tjFEn.net
歌舞伎座.tech#13「Elixir 勉強会」
2017/01/11(水) 開場:18:57 開演:19:00  ニコニコ生放送
lv286846512

724 :デフォルトの名無しさん:2017/01/16(月) 23:40:33.28 ID:/8hm5iax.net
内部関数の再帰呼び出しって可能?
yコンビネータとかでなく

725 :デフォルトの名無しさん:2017/01/16(月) 23:50:33.98 ID:/8hm5iax.net
>>724
varで宣言してから関数定義したらいけました
お騒がせしました

726 :デフォルトの名無しさん:2017/01/18(水) 21:03:54.63 ID:xMB+Qmdf.net
>723
webサーバーや常駐プロセスならelixir、システム系やバイナリならcrystalかな。
golangはどちらも増えてきたな。

727 :デフォルトの名無しさん:2017/01/20(金) 14:22:52.01 ID:uizqycjV.net
list = [["a",1],["b",2],["c",3],["d",4],["e",5]]

こんな配列を作りたいのですが

pythonだったら
list = []
list.append(["a",1])
list.append(["b",2])
とすればできるのですが
GOではどうやればいいのでしょうか?

728 :デフォルトの名無しさん:2017/01/20(金) 15:24:48.94 ID:PlXLSX3f.net
[]interface{} を使えば何とかなるけど…

https://play.golang.org/p/pq1Pwe0V4z

map[string]int か []struct を使う方がいいと思う

729 :725:2017/01/20(金) 17:00:33.53 ID:uizqycjV.net
>>728
どうもありがとうございます。
map[string]int か []structも調べてみます。

730 :sage:2017/01/22(日) 00:26:49.27 ID:JSjE+wfT.net
流行りの機能あんまり無いし使い辛そうと思ってたが
書いてみるとしっくりくるな、良く出来てる

731 :デフォルトの名無しさん:2017/01/22(日) 01:48:56.85 ID:EXKusZK8.net
流行りの機能を実装するのに流行りの機能を使ったかどうか考えたら自明よだよ。
クリスマスツリーの飾りか、彼らが本気で必要だと言うなら自転車の補助輪みたいなもの。

732 :デフォルトの名無しさん:2017/01/22(日) 13:18:59.29 ID:lyHWqZIh.net
よだ
よだ

733 :デフォルトの名無しさん:2017/01/22(日) 14:39:27.82 ID:hBhrTyQG.net
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja

734 :デフォルトの名無しさん:2017/01/22(日) 20:41:03.32 ID:oEaDlbYA.net
>>732
すまん。予測変換に引きずられた

735 :デフォルトの名無しさん:2017/01/24(火) 23:06:50.70 ID:c6xhurTC.net
>>731
> 流行りの機能を実装するのに流行りの機能を使ったかどうか考えたら自明よだよ。
これ停止条件どこですかね、天地創造?

736 :デフォルトの名無しさん:2017/01/25(水) 09:47:48.89 ID:QApusiWr.net
「CコンパイラはC言語で書かれている」みたいなことを言いたかったんじゃないかとエスパーしてみる。

737 :デフォルトの名無しさん:2017/01/25(水) 10:44:53.45 ID:JgDNrEDV.net
>>735
停止条件は、流行りの機能を使わない形での流行りの機能の実装、だろうね。
流行りの機能と言うから話がややこしくなるが、
ハンダゴテ作るのに、ハンダゴテ使って半田付けする必要があるのは、手順として間違ってるって事。
1.5より前のGoをコンパイルして、Go1.5でそれ以降をコンパイルするようなもん。

738 :デフォルトの名無しさん:2017/01/25(水) 11:14:48.01 ID:5tC4lyU9.net
gccのコンパイル手順を初めて聞いたときのこと思い出したわ

739 :デフォルトの名無しさん:2017/01/25(水) 14:24:01.33 ID:3mED4Rlj.net
depの使い方を教えてください

740 :デフォルトの名無しさん:2017/02/01(水) 17:37:29.24 ID:+X2jALUV.net
あの、golangでwebサイトを作る場合って
作った数だけ
go run hogehoge1&
go run hogehoge2&
go run hogehoge3&
こんな感じで裏で実行させておくんでしょうか?

741 :デフォルトの名無しさん:2017/02/01(水) 22:01:17.22 ID:5RUfbCqK.net
1アプリ1サイトって意味ならあってる

742 :デフォルトの名無しさん:2017/02/02(木) 11:20:33.63 ID:nnsBzBvb.net
goアプリのデーモン化ってデファクトスタンダードそろそろ出た?
supervisor使うのが一番ラクかな未だに

743 :デフォルトの名無しさん:2017/02/17(金) 10:38:39.08 ID:w6Mwd8Yg.net
Go 1.8です
LinuxでGOROOTを設定する理由はこれで合ってますか?

・/usr/local/go以外の場所にインストールする場合。例えば~/local/goとか。
・異なるバージョンのgoをインストールするとき。GOROOTを切り替えることでバージョンの異なるgoを切り替えられるから。

あとGOPATHはデフォルトだと~/goを使いますよね。
1つのgoしか使わない場合とか、異なるバージョンのgoで~/goを共有するならGOPATHの設定しなくてもいいですか?

744 :デフォルトの名無しさん:2017/02/17(金) 16:12:14.19 ID:yGnzX63H.net
はい

745 :デフォルトの名無しさん:2017/02/17(金) 19:02:09.98 ID:W71R9C1F.net
n := 1.0
fmt.Printf("%f\n", n) // 1.000000
fmt.Println(n) // 1

1番目の出力、何で1.0じゃなくて1.000000なんですか?
2番目の出力、何で1.0じゃなくて1なんですか?

746 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/17(金) 19:42:06.34 ID:MbV+Py5H.net
>>745
コンピュータでは数値は内部表現で表されている。内部表現では10.0も10.00も同じデータだ。
その数値の内部表現に対してPrintf,Printlnがその形式で出力するように設計されているから。
もし好きな形式で出力したいならPrintfの書式を調べればよい。

747 :デフォルトの名無しさん:2017/02/18(土) 01:11:54.03 ID:pMCaQLyx.net
そういうものなのかわかりました

748 :デフォルトの名無しさん:2017/02/18(土) 01:30:30.49 ID:AobYyoSr.net
>>743
【Go】結局、$GOPATHと$GOROOTはどこに設定すればいいの?
https://teratail.com/questions/41746

「go gopath goroot」で検索!

749 :デフォルトの名無しさん:2017/02/18(土) 17:55:40.13 ID:OtEeuMsz.net
go get -u hogehoge/hoge/hoge
だとbinにコマンドが入らなくて
go get -u hogehoge/hoge/hoge...
だと入るんですが
...ってなんですか?

750 :デフォルトの名無しさん:2017/02/18(土) 18:32:44.27 ID:HTn/aT5C.net
version1.8が出たらしいね
>>706-710の問題はどうなったんだろ?

751 :デフォルトの名無しさん:2017/02/19(日) 00:40:55.67 ID:rxEXn9HF.net
>>749
What do three dots "./..." mean in Go command line invocations? - Stack Overflow
http://stackoverflow.com/questions/28031603/what-do-three-dots-mean-in-go-command-line-invocations

752 :デフォルトの名無しさん:2017/02/19(日) 11:12:55.70 ID:hWiEfeI5.net
>>751
先輩ありがとうございます

753 :デフォルトの名無しさん:2017/02/21(火) 00:38:10.56 ID:gQJwpX7p.net
これ実行すると1と表示されますが
var i []int
if i == nil {
fmt.Println(1)
}

これだと1が表示されません
i := []int{}
if i == nil {
fmt.Println(1)
}

var i []intを:=バージョンで宣言したいんですがどうやって書くんでしょうか?

754 :デフォルトの名無しさん:2017/02/21(火) 01:20:47.27 ID:D3dspysh.net
i := []int(nil) とか

755 :デフォルトの名無しさん:2017/02/21(火) 10:55:35.63 ID:1k6xy1Ha.net
>>754
(nil)って書き方初めて知りましたありがとうございます

756 :デフォルトの名無しさん:2017/02/21(火) 22:11:48.42 ID:3rYbm5Zu.net
単なるキャストでしょ

757 :デフォルトの名無しさん:2017/03/01(水) 05:34:18.30 ID:eGDA14QM.net
http://hanabi.2ch.net/test/read.cgi/hikky/1480625781/874

↑これは本当にGo言語の問題点なのですか?

758 :デフォルトの名無しさん:2017/03/02(木) 10:36:42.56 ID:TnPaXq7u.net
Goってエンコード/デコード処理って標準で入って無いのな
読み込んだShift-jisデータが文字化けしててさ、デコードどうすんだろうって
調べたらstringsメソッドにも無いし標準パッケージにも無くて、
えっ?えっ?って困惑しながら調べてたら外部パッケージ使うんだってね

ええ?エンコード/デコードなんて標準で入ってて当たり前じゃん、どうなんてんのよとブツブツ言いながら
佐和子は外部パッケージの使用例を見てみるのであった・・
佐和子はまた驚いた「なにコレ・・デコードするだけで何でこんなに書かないといけないの!?」
Pythonを少しかじっている佐和子にとってデコードはhoge.decode('utf-8')という退屈な一行なのであった
佐和子は涙した、「あたし、Go無理かも・・なんて面倒なの・・グスン」悲しむ感情とは裏腹に
股間も濡れていることにまだ気づかない佐和子なのであった

759 :デフォルトの名無しさん:2017/03/02(木) 11:09:11.50 ID:nru5cJzG.net
c++より面倒?

760 :デフォルトの名無しさん:2017/03/02(木) 15:50:33.79 ID:u/9aEmwY.net
>>757
warningは消せるんじゃなかったけ?

761 :デフォルトの名無しさん:2017/03/02(木) 16:29:39.78 ID:X4z0kGE4.net
やる気がないgolang.jpとgolang-jp.orgは今すぐサーバをシャットダウンさせるべき
個人で翻訳し綴られるわけないのに
やるならオープンな場で活動するべき

762 :デフォルトの名無しさん:2017/03/02(木) 17:06:55.36 ID:jHvj97KG.net
>>757
単なるマヌケだろこれは…

https://play.golang.org/p/xPih-HNli3

763 :デフォルトの名無しさん:2017/03/05(日) 22:36:40.86 ID:S4MzRoP3.net
rubyのbundleみたいにプロジェクトごとにパッケージを使いたいので公式っぽいdepを使おうと思いました
何か自分がこれから書くソースコードもGOPATH以下のsrcに書かないといけないようなんですが
これってdepを使うからこういう決まりってわけではなくgolangだからこういう決まりになってるんでしょうか?

764 :デフォルトの名無しさん:2017/03/05(日) 22:46:59.76 ID:Y02SgW6x.net
そうだよ

765 :デフォルトの名無しさん:2017/03/05(日) 23:04:39.65 ID:ifu98e8m.net
慣れる迄苛つく仕様

766 :デフォルトの名無しさん:2017/03/06(月) 00:27:53.52 ID:8ia6O09M.net
なんだよglideがデファクトかと思ってたのに公式から出たんか。

767 :デフォルトの名無しさん:2017/03/09(木) 09:56:41.81 ID:06AYmq+V.net
rubyの配列や文字列、正規の色々細々便利関数みたいな、JSのアンダスコアみたいな
そういう汎用ライブラリ(か自前関数)はGo言語は持っているのでしょうか

768 :デフォルトの名無しさん:2017/03/09(木) 14:47:10.65 ID:EWO17/eW.net
JSのアンダスコアみたいなやつはあるな
https://github.com/ahl5esoft/golang-underscore

769 :デフォルトの名無しさん:2017/03/09(木) 21:39:53.64 ID:JwhapCIX.net
>>768
interface{}型多用しまくりでまるで動的言語のようだ。

770 :デフォルトの名無しさん:2017/03/09(木) 22:11:04.55 ID:8UcOpz+6.net
exampleをざっと見る分には要所々々で型明記してて普通の静的型に見える

771 :デフォルトの名無しさん:2017/03/11(土) 03:11:21.73 ID:ptLt8H3Q.net
←chan:受信専用
chan←:送信専用

これ何でや?逆の方がしっくりくるやろ・・・

772 :デフォルトの名無しさん:2017/03/11(土) 07:32:20.09 ID:2HZNdoI4.net
2000年代初期に

変数名: 型

より

型 変数名

の方がしっくりくるだろ、、、って言ってたの同じじゃね

偉い人は人間工学的に良いって言って、凡人は慣れたら前者が無条件に良く見える
慣れない老害はワカモノにバカにされるといいよ

773 :デフォルトの名無しさん:2017/03/11(土) 08:24:56.74 ID:3yr+jwLv.net
英語圏では常に自分が中心の個人主義故に主語は大抵自分自身になるわけ
つまり←chanというのは、「チャネルから私へ」となり受信
同様にchan←というのは、「私からチャネルへ」となり送信

という完璧な回答を佐和子はニヤニヤしながら書いたのであった

774 :デフォルトの名無しさん:2017/03/11(土) 08:52:31.22 ID:50ajbFL2.net
variant (as) Type
みたいなのじゃないの?
パスカルもそうだし、あながち新しいもの独特って訳でもない

775 :デフォルトの名無しさん:2017/03/11(土) 08:57:14.88 ID:3yr+jwLv.net
>>773の訂正と補足
うーん、主語というか、とにかく「私」が隠れてるんや! 英語圏は私!私!の文化やねんから!
日本では子供に合わせてパパは妻の事をママっていうねん、視点子供に変わったりするねん
でも英語圏ではそんなことないねんって、視点は常に自分自身やねんって

チャネルが送ってる先は「私」やねん ←chan だから受信やねん
チェネルに送ってるのは「私」やねん chan← だから送信やねん

776 :デフォルトの名無しさん:2017/03/11(土) 09:48:49.71 ID:ptLt8H3Q.net
>>775
この説明でしっくりきましたわ
向こうの人は自分視点が徹底しとるんやなー
サンクスやで!

777 :デフォルトの名無しさん:2017/03/20(月) 11:51:19.13 ID:c2kV274u.net
「Go言語による Webアプリケーション開発」やってる奴は下のリンク読んどけ
めちゃ助かったわ

http://matsnow.hatenablog.com/entry/golang/nsq

778 :デフォルトの名無しさん:2017/03/20(月) 15:12:26.30 ID:CYCZfEEr.net
グロ中尉

779 :デフォルトの名無しさん:2017/03/20(月) 18:59:16.35 ID:c2kV274u.net
グロじゃねえよ、やめろやw
タイトルも書くべきだったな

nsqdが「dial tcp: i/o timeout」を返してくる場合の対処法
http://matsnow.hatenablog.com/entry/golang/nsq

780 :デフォルトの名無しさん:2017/03/21(火) 23:10:22.44 ID:uzSvvu2S.net
公式のサイト見て驚いたけどUnicode文字の例として日本語が使われてるのな、なんか意外だ

781 :デフォルトの名無しさん:2017/03/22(水) 00:13:24.31 ID:9PE4AFjh.net
https://play.golang.org/p/FoAcpJwOTh

appendでの容量の増え方に何か法則があるのでしょうか?(2倍にされる場合もあってちょっと怖いです)

782 :デフォルトの名無しさん:2017/03/22(水) 02:19:25.41 ID:ws4VFpo4.net
ここかな
https://github.com/golang/go/blob/master/src/runtime/slice.go#L101

783 :デフォルトの名無しさん:2017/03/22(水) 03:56:14.98 ID:9PE4AFjh.net
>>782
d
1024以下は2倍でそれ以外は1.25倍で増やしてくのか

784 :デフォルトの名無しさん:2017/03/23(木) 11:40:09.39 ID:AyyVp0Pm.net
>>780
なんで意外なん?
中国語や韓国語が使われてないと困るのか?

785 :デフォルトの名無しさん:2017/03/23(木) 13:15:39.80 ID:U7xuC5Fy.net
言語選択のアイコンが[aあ]になってるサイトもあったな。
選択肢には日本語なかったけど。

786 :デフォルトの名無しさん:2017/03/23(木) 16:14:28.11 ID:9ddE+onE.net
SwiftのApple公式チュートリアルページのUnicode絵文字サンプルは寿司
中国、韓国は頑張れ

787 :デフォルトの名無しさん:2017/03/23(木) 17:51:06.97 ID:9n/hT6SR.net
JavaのAPIドキュメントは日本語版が用意されてくらいだから
世界のIT業界にとって日本は大事な顧客様なのだろう

788 :デフォルトの名無しさん:2017/03/23(木) 17:59:17.93 ID:h9aQztqc.net
奥方

789 :デフォルトの名無しさん:2017/03/23(木) 19:38:53.40 ID:fky8z8fA.net
日本のIT業界ってマイクロソフトに固執してるイメージあるからじゃないか。
アンドロイドのIMEは中華製って感じがする。

790 :デフォルトの名無しさん:2017/03/24(金) 19:16:22.29 ID:213lDDdv.net
Windows10でVScode-go環境を作ったんだけど、コード補完が遅すぎて使えなくなってます。

変数名打って、型名書いてたらいきなり補完が効いて変数名の最後の数文字が消えたり、コメント書こうとしたら、//部分が突然削除されたり等…

最初はgocodeのautobuildが悪さしてるのかと思ってsetting.jsonからfalseにしても効果はなく……

誰か、go言語で同様の症状に陥った方は居ませんか?
環境は

Windows10
go 1.7.5(最初は1.8でも同様の症状が出てバージョン下げたけど意味なし…)
VSCode1.10.2
Git2.12.0
Go拡張0.6.55(多分最新版)
各種ツール(最新版)

です。
色々調べたけど正直お手上げなので、誰か解決方法を知ってたら教えてください…

791 :デフォルトの名無しさん:2017/03/24(金) 22:53:28.10 ID:frT9Zhqz.net
なんでその質問をこのスレでしようと思った?

792 :デフォルトの名無しさん:2017/03/24(金) 23:05:17.09 ID:frT9Zhqz.net
Issueに投げればよかろう

Issues ・ Microsoft/vscode-go ・ GitHub
https://github.com/Microsoft/vscode-go/issues

793 :デフォルトの名無しさん:2017/03/25(土) 01:06:24.19 ID:SfvzpHLw.net
英語苦手なのと、この板とソフトウェア板にVScodeスレが見当たらなかったからです

あと、似た症状を起こした人が居たらしく、どうもそのissueを読む限りgocodeのautobuildが原因じゃないかと言われていたので試してみたり、vscodeのsetting.jsonの設定を変えてみたりしたのですが、結果は改善しませんでした…
ttps://github.com/Microsoft/vscode-go/issues/696

このスレにこの症状についてわかる方が居ないようでしたら…意を決して聞くつもりです

794 :デフォルトの名無しさん:2017/03/25(土) 01:19:00.29 ID:afr6k6dQ.net
変な奴だな…

795 :デフォルトの名無しさん:2017/03/25(土) 01:45:52.76 ID:jvvW/9ia.net
>>793
gocode close
go get -u github.com/nsf/gocode

上記二行を実行してみてもだめ?

796 :デフォルトの名無しさん:2017/03/25(土) 03:04:54.19 ID:axug6RQN.net
VSCodeスレが無いだとお!?

MacでもLinuxでも使えるVisual Studio Code [転載禁止]c2ch.net
http://echo.2ch.net/test/read.cgi/tech/1430403713/l50

797 :デフォルトの名無しさん:2017/03/25(土) 11:16:08.90 ID:Kt/vjrdl.net
今日は合コンあるらしいねいかないけど

798 :デフォルトの名無しさん:2017/03/25(土) 15:10:30.58 ID:SfvzpHLw.net
>>795
ちょくちょくcloseを実行してアップデートを繰り返してみましたがだめでした…

>>796
あ…すみません…あったんですね…


あの後、色々試した結果
自動保存を切るとどうやら調子が良くなるみたいです
go fmt相当の機能が自動保存を付けているとかなりの頻度で実行され、それがコードを書くのを妨害していると思われます
自動保存なんてオプションを興味本位でONにしていたのが行けなかったのだと思います…
コードが書き終わった後にctr+sで手動で保存するようにすればなんとか使えるようになりました

ご協力ありがとうございましたm(_ _)m

799 :デフォルトの名無しさん:2017/03/25(土) 15:11:17.55 ID:5MnOmzEx.net
合唱コンクール

800 :デフォルトの名無しさん:2017/03/25(土) 19:04:15.43 ID:axug6RQN.net
自己解決したからってIssueに投げなくていいわけじゃないぞ
ちゃんとIssueでバグ報告しとかないと

801 :デフォルトの名無しさん:2017/03/26(日) 19:10:59.69 ID:24iyyPay.net
PycharmでGoを書く

802 :デフォルトの名無しさん:2017/03/27(月) 09:00:52.72 ID:Bf4pJlD+.net
jetbrainから出るやつっていつなん?

803 :デフォルトの名無しさん:2017/03/27(月) 11:33:39.92 ID:p7pVTGV7.net
>>802
でてるっちゃでてるじゃん
https://www.jetbrains.com/go/download/

804 :デフォルトの名無しさん:2017/03/28(火) 11:29:46.98 ID:XYMZoduR.net
>>717
で反応ないってことは使っている人居ない感じ?
どれで書いて勉強すればいいのかなぁーって

805 :デフォルトの名無しさん:2017/03/28(火) 15:18:18.42 ID:9WCU6g+e.net
使ってないですねえ

806 :デフォルトの名無しさん:2017/03/28(火) 15:22:57.29 ID:9WCU6g+e.net
goglandはまだ正式なものでないようですしねえ(人柱向けですねえ)

Gogland ? JetBrains発の新しいGo IDEのお知らせ | JetBrains ブログ
https://blog.jetbrains.com/jp/2016/12/15/726

JetBrains Gogland: Up and Coming Go IDE
https://www.jetbrains.com/go/

807 :デフォルトの名無しさん:2017/03/28(火) 15:47:02.89 ID:XYMZoduR.net
人柱向けなので、人柱が居ないか聞いてみたんだと思う……
それまでのプラグインよりも良いという「らしい」から

808 :デフォルトの名無しさん:2017/03/28(火) 22:29:12.89 ID:OFHPA2bL.net
AtomよりVScode
VScodeよりSublime
SublimeよりPycharm

Goglandはよ完成させんか!

809 :デフォルトの名無しさん:2017/03/28(火) 23:47:54.70 ID:wrx/BE3m.net
言語ごとにエディタ変えるよりオールインワンがいいねん

810 :デフォルトの名無しさん:2017/03/29(水) 03:12:59.73 ID:oF0yWN/4.net
gogland試してる。
pluginの頃から既に実用レベルだったから、完成度は高いと思う。
debuggerとかで変数を確認しながら開発できるみたい。
https://www.jetbrains.com/go/features/
jetbrainsのideに慣れてれば使ってみると良いよ。

811 :デフォルトの名無しさん:2017/03/29(水) 11:37:06.05 ID:e2+Szx9c.net
いまのところ、エディタ+実行環境ぐらいしか使ってないので、
Ideaのプラグインの頃との違いがあまり分かってない。
liteideもそのぐらいしか使ってなかたったけど。

812 :デフォルトの名無しさん:2017/03/29(水) 11:45:26.94 ID:UMeevNqB.net
>>809
vimとemacsが仲間にして欲しそうにこちらを見ている

言語ごとの文法に慣れたら、言語ごとのIDE/エディタも慣れると思ってた時期が俺にもありました
環境は変わるとホント辛いよね

813 :デフォルトの名無しさん:2017/03/29(水) 12:34:20.39 ID:4wfKDbDZ.net
VisualStudioCodeが便利すぎて正直Go専用にIDE環境使おうとは思わんな。

814 :デフォルトの名無しさん:2017/03/29(水) 17:31:20.16 ID:mPpJrWfj.net
Goglandで良いならLiteIDEで良いじゃん

815 :デフォルトの名無しさん:2017/03/30(木) 18:14:38.97 ID:tZ7gdWKd.net
LiteIDEってGoで書かれているわけじゃないんだね。
ずっとGoで書かれているんだと思ってた。。。

816 :デフォルトの名無しさん:2017/03/30(木) 20:28:14.36 ID:Ya8jf9nB.net
>>815
Goで書かれていると言えばMicro。
でもプラグインはluaだという

817 :デフォルトの名無しさん:2017/04/20(木) 02:41:38.17 ID:pSoU+zvg.net
Google公式でaptパッケージをメンテしてほしい
今あるのはバージョンが古いし

818 :デフォルトの名無しさん:2017/04/20(木) 14:57:33.39 ID:T7Zz78Cb.net
>>817
つ anyenv

819 :デフォルトの名無しさん:2017/04/20(木) 23:41:12.94 ID:Yuw+ZMQt.net
goenvでもいいしね

820 :デフォルトの名無しさん:2017/04/21(金) 23:13:42.55 ID:DOzdPvj8.net
rubyのbundleかpythonのvenvみたいなのが欲しい
depはいちいちプロジェクト毎にGOPATHを書き換えないといけないからだるい

821 :デフォルトの名無しさん:2017/04/22(土) 12:36:33.90 ID:XOGXVxf4.net
そのためのDockerですよ

822 :デフォルトの名無しさん:2017/04/22(土) 16:47:25.97 ID:b6kRyspV.net
>>820
glideじゃだめなん?

823 :デフォルトの名無しさん:2017/04/24(月) 16:03:49.72 ID:Ce/YXV/H.net
go-opencvってどうなの
結局cgo使うことになる?

824 :デフォルトの名無しさん:2017/04/27(木) 23:04:18.01 ID:Q8g/twyk.net
delve入れて IntelliJ IDEA でデバッグしようとしたんだけどなぜかパニクる、同じようなこと起こってるひといる?

825 :デフォルトの名無しさん:2017/04/30(日) 10:57:04.13 ID:0Jw8BHIT.net
go get github.com/hajimehoshi/ebiten/...
って … ってどういう意味なんですかね?

826 :デフォルトの名無しさん:2017/04/30(日) 12:43:49.05 ID:YASP0NOm.net
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /

827 :デフォルトの名無しさん:2017/04/30(日) 19:15:55.71 ID:Kng/Djib.net
…がないとebitenパッケージしかgetしないってことだと思う。
exampleとかebitenutilもgetしたいなら…つけるんじゃないか。

828 :デフォルトの名無しさん:2017/05/02(火) 18:24:35.45 ID:Wqf9gHHS.net
>>751

829 :デフォルトの名無しさん:2017/05/03(水) 08:31:28.68 ID:O89wJViE.net
遅ればせながらshibukawaさんのnanovgo demo sampleってやつを
ubuntu 16.04上で動かしてみたけど、これいいね
巷での評判はどうなの?

830 :デフォルトの名無しさん:2017/05/03(水) 08:33:34.36 ID:O89wJViE.net
>>829
おっとgoのバージョンは1.8.1

831 :デフォルトの名無しさん:2017/05/03(水) 20:02:29.02 ID:O89wJViE.net
>>830
windows10でもやってみた
結構いろんな環境で動きそうですね
goはやはり1.8.1

832 :デフォルトの名無しさん:2017/05/05(金) 13:35:23.32 ID:P7YKsBwJ.net
>>831
同じマシン(i5 第3世代、HPデスクトップ)で速度を比較してみると
windows10: 130-140 FPS
ubuntu 16.04: 125付近 FPS
で、あまり違いはなかった

833 :デフォルトの名無しさん:2017/05/05(金) 13:43:01.75 ID:P7YKsBwJ.net
>>832
おっとまた忘れた
画面の解像度が速度に大きく作用するので、その記載
ここでのテストは 1920x1080でした

834 :デフォルトの名無しさん:2017/05/06(土) 13:38:13.01 ID:e8GUuuYA.net
>>833
別のマシン(i5-4590S)で Windows 10 (Creators update、上も同じ)
380-400 FPS

第4世代と第3世代の差は圧倒的だは!

835 :デフォルトの名無しさん:2017/05/06(土) 13:45:33.58 ID:xfCUj8G0.net
おつ

836 :デフォルトの名無しさん:2017/05/16(火) 00:10:12.72 ID:jyI5CijS.net
goにもnilを許容しない変数定義できるようになって欲しい。
typeScriptとかになれるとnilになるとコンパイラが指摘してくれんだろという思い込みがgoで書く時に問題になる。実行時エラー出しまくりw

837 :デフォルトの名無しさん:2017/05/16(火) 18:53:07.01 ID:18D2gyoZ.net
Rustでもやれば

838 :デフォルトの名無しさん:2017/05/17(水) 11:26:01.95 ID:8ydAfzFN.net
Rustとかになれると変数値破壊するとコンパイラが指摘してくれんだろという思い込みがGo, TypeScriptで書く時に問題になりそう
JavaやSwift(ObjC)みたいなnilable修飾詞はあっても良いかもねぇ、どうしても欲しいと言う機能でもないけど

839 :デフォルトの名無しさん:2017/05/17(水) 22:28:30.66 ID:sVDcp3Zu.net
rustのほうがコンパイラがより親切ってこと?
goのエコシステムが好きだから、今のところはrustを試そうとは思わないなぁ。

goのnilって型がありつつnlみたいな状態とただのnilって違うし
そういう混乱があるから
nilを許容しない方向に進んだほうがより直感的になる気がする。

840 :デフォルトの名無しさん:2017/05/20(土) 09:48:00.81 ID:POYpVYoy.net
rustのエコシステムはgo並みに親切だけど、コンパイラはドSだからやめた方がいい
試した所でgoやtypescriptのコンパイラのゆるさを見直すだけだよ

goのnil, nlはまぁ混乱するからどっちかだけにして欲しくはある

841 :デフォルトの名無しさん:2017/05/25(木) 22:23:56.33 ID:gYX5/I4W.net
Goをはじめてつかってみたけど
Goの良さを生かせるプロジェクトってすごく限られてるよな

842 :デフォルトの名無しさん:2017/05/25(木) 22:31:37.92 ID:VLHKaXKG.net
そうなの?

843 :デフォルトの名無しさん:2017/05/26(金) 01:11:35.38 ID:ZNc2U8qB.net
go脳裏ってgoroutineだしね。並行処理したいってなければphpでいいのかもね。
俺的にはkotlinに行ってみようかな。

844 :デフォルトの名無しさん:2017/05/26(金) 10:53:21.83 ID:gvIQ5llv.net
go versionしてもバージョンがすべて表示されないんですけど
1.8.1なのか1.8.3ナノ化マイナーバージョンまで調べる方法教えてください

845 :デフォルトの名無しさん:2017/05/27(土) 00:13:43.62 ID:RKgIRc4T.net
Goの人間に期待してない感じ良いと思う
バカでもある程度同じ書き方になるみたいな

846 :デフォルトの名無しさん:2017/05/27(土) 03:53:53.40 ID:KIGprW1f.net
メソッドでnilが来て死

func (h *Hoge)foo() int {
return h.bar + h.baz
}

847 :デフォルトの名無しさん:2017/05/27(土) 06:56:18.11 ID:3w92Yrys.net
bに0が来て死くらいバカっぽいなw
func div(a, b int) int {
return a / b
}

848 ::2017/05/27(土) 09:39:16.58 ID:sEq8ObI0.net
>>845
palmのgraffitiみたいな感じで、歩み寄れというメッセージ感じるな。

849 :デフォルトの名無しさん:2017/05/27(土) 10:53:29.19 ID:AtlUQH7H.net
>>844
それ、おまいがインストールしてるバージョンが1.8なんじゃないかな

850 :デフォルトの名無しさん:2017/05/27(土) 13:58:37.09 ID:dJa5J15+.net
>>849
1.8.0だったら1.8って表示されるんですか?
たぶん1.8.1なのでそれはないです

851 :デフォルトの名無しさん:2017/05/27(土) 16:29:07.28 ID:AtlUQH7H.net
>>850
$ go version go version go1.8.3 darwin/amd64

852 :デフォルトの名無しさん:2017/05/27(土) 21:59:50.58 ID:KIGprW1f.net
ポインタのレシーバーは常にnilチェックがいるのか
面倒だな

853 :デフォルトの名無しさん:2017/06/06(火) 15:41:52.12 ID:DdiwlRfv.net
>>850
$ go version
go version go1.8.2 darwin/amd64

854 :デフォルトの名無しさん:2017/06/07(水) 10:51:13.30 ID:gCV+j4n9.net
一つのプロジェクト内で複数のサイトを立ち上げたいんですがいい方法無いですか?
フレームワークは何でもいいです

http://127.0.0.1:8081
http://127.0.0.1:8082
http://127.0.0.1:8083
みたいにアクセスしたいのです

855 :デフォルトの名無しさん:2017/06/07(水) 12:39:27.11 ID:ayFCuqeB.net
こういうのいっぱいつくればできるのかな?

func server8081() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8081", nil)
}

func main() {
server8081()
}

856 :デフォルトの名無しさん:2017/06/07(水) 14:12:09.15 ID:Kk4r5o3h.net
>>854
大量にリッスンしろYO

857 :デフォルトの名無しさん:2017/06/08(木) 11:31:34.32 ID:RTYYoCEV.net
なんとなくだけどdepが今後オフィシャルツールになると見込んでdepしか使ってないけど
GUIライブラリも手放した過去があるからGoogleを信用してはいけないよな
glideも覚えるべきか

858 :デフォルトの名無しさん:2017/06/09(金) 16:50:45.42 ID:T5+k/E3o.net
v := flag.Int("v", 0, "v")
flag.Parse()
fmt.Println(*v)

var v string
flag.Int(&v, "v", 0, "v")
flag.Parse()
fmt.Println(v)

このvはなんの違いがあるんですか?

859 :デフォルトの名無しさん:2017/06/09(金) 22:09:41.77 ID:TYDzsVxx.net
型が違うという話?

860 :デフォルトの名無しさん:2017/06/11(日) 19:32:55.88 ID:h1hPlu9T.net
getchみたいなのって標準機能じゃ出来ないんですか?
ぐぐるとc使ったりOS付属のコマンドを使うやり方しかないんですがこういうものですか?

861 :デフォルトの名無しさん:2017/06/12(月) 00:25:13.64 ID:9+UoMkQw.net
標準機能に足りないものは
誰かが作ってパッケージで公開してることにまず期待をなさい

https://godoc.org/?q=getch
https://godoc.org/?q=console
https://godoc.org/?q=curses

862 :デフォルトの名無しさん:2017/06/15(木) 22:00:13.66 ID:w0F6tV0E.net
メモリ確保するとき

hoge := make(map[string]int)

hoge := map[string]int{}

ではどっちのほうがよいの?

863 :デフォルトの名無しさん:2017/06/21(水) 01:28:25.82 ID:eYd+pbWG.net
最近Goを使うところがやたら増えてるけど
そんなにGoroutineを使う業務があるのか

864 :デフォルトの名無しさん:2017/06/21(水) 10:29:13.06 ID:CAzvCkNY.net
>>863
バッチ処理で複数Workerに作業させたいとか
そういうのに使うために一度Gorutine使ってからは、あんまり使わんな。
httpserver動かすと裏で動いてんのかな

865 :デフォルトの名無しさん:2017/06/21(水) 10:45:34.41 ID:/PHY+XSN.net
1リクエスト1Goroutineじゃないっけ

866 :デフォルトの名無しさん:2017/06/23(金) 21:14:31.74 ID:6gEmwLmB.net
flagで引数を必須にする方法はないんでしょうか?

867 :デフォルトの名無しさん:2017/06/24(土) 20:07:09.01 ID:rFJT48yH.net
シングル脳脱却の為に必要なくても慣れたい

868 :デフォルトの名無しさん:2017/07/04(火) 23:39:57.28 ID:CTaqcgX4.net
http://golang-jp.org/

のRunボタンおすと

Error communicating with remote server.
Program exited.

ってなるんだけど直す気は無いの?本家のページはちゃんと動くのに。

869 :デフォルトの名無しさん:2017/07/05(水) 11:17:44.14 ID:Qpg00Afa.net
2ちゃんの裏に落書きしても何にもならんよ

870 :デフォルトの名無しさん:2017/07/07(金) 00:01:08.00 ID:Qz77liVk.net
jpの人はここを見てないのかw
なんか色々とグズグズだなw

871 :デフォルトの名無しさん:2017/07/07(金) 16:51:04.03 ID:aZ/Hajxr.net
むしろこんなとこ見てるやつが少数なんだが

872 :デフォルトの名無しさん:2017/07/07(金) 18:39:22.60 ID:BAdmHvms.net
まともな社会人が2chなんか見てるわけないだろ・・・

873 :デフォルトの名無しさん:2017/07/07(金) 19:46:28.59 ID:7JrZOF7d.net
暇職だけだよな

874 :デフォルトの名無しさん:2017/07/10(月) 13:48:40.97 ID:gqDySAuG.net
普段みんなどこいるの?
正直匿名じゃないとアホな質問とかできないから
ここが居心地いいんだよね。
teratailとかで下手にアホな質問書き込むとすごい叩かれるから凹む。

875 :デフォルトの名無しさん:2017/07/10(月) 16:12:24.25 ID:XvbOmo/f.net
今の時代は非匿名文化ですから
teratailで叩かれるような質問ならここでも叩かれますよ
むしろ2ちゃんに飽きてる層が多いから2ちゃんで質問しても回答もつきにくい

876 :デフォルトの名無しさん:2017/07/10(月) 18:51:54.54 ID:gqDySAuG.net
>>875
いや。叩かれるのはいいんだけど、
特定されて、こいつこんな質問過去にしてたんか。恥ずかし
ってなるのが怖くて質問できない。
専用アカウント作ればいいんだろうけど使い分けんのが面倒。

877 :デフォルトの名無しさん:2017/07/10(月) 19:04:55.53 ID:l6mkv8ve.net
誰だって最初は初心者なんだからビビらず
どこでだって質問しまくればいいのよ

878 :デフォルトの名無しさん:2017/07/10(月) 20:44:54.88 ID:e/A+ULgc.net
>>876
そんなの気にしてたらいつまでも成長しませんよ
アカウント作って質問するぐらいの労力より回答するほうが労力使うことを知ってくださいよ
さっさとteratailのアカウント作ってこい

879 :デフォルトの名無しさん:2017/07/10(月) 21:11:13.33 ID:gqDySAuG.net
>>878
質問を書き込んだら、何故か直後に解決法が分かる不思議。

880 :デフォルトの名無しさん:2017/07/11(火) 21:07:45.10 ID:aZj0SKJK.net
>>879
言語化するときに頭が整理されるからな

881 :はちみつ餃子 ◆8X2XSCHEME :2017/07/14(金) 02:04:24.52 ID:I4VxJiDM.net
>>879
ラバーダックデバッギングってやつ

882 :デフォルトの名無しさん:2017/07/14(金) 07:48:54.82 ID:AYnLv9ir.net
>>881
>ラバーダックデバッギング
テディベアだと思ってたわ

883 :デフォルトの名無しさん:2017/07/17(月) 02:12:19.59 ID:7ihWSUZ7.net
Google、プログラミング言語「Go 2」開発計画発表
http://news.mynavi.jp/news/2017/07/16/064/

884 :デフォルトの名無しさん:2017/07/17(月) 10:09:53.66 ID:Fx97i6Ko.net
Goスレはpart1も終わっていないというのに

885 :デフォルトの名無しさん:2017/07/17(月) 11:06:33.47 ID:fxU6unKK.net
すばらしい洞察
わろた

886 :デフォルトの名無しさん:2017/07/17(月) 11:07:35.85 ID:MkiOtZ1h.net
goスレは実質part3くらいだよ

887 :デフォルトの名無しさん:2017/07/17(月) 11:41:04.01 ID:XK2ZW0di.net
Go 2になったらGopherくんも何か変わる?

888 :デフォルトの名無しさん:2017/07/17(月) 12:51:50.93 ID:HJdOjxBV.net
ついにジェネリクスがつく時が来たか。

889 :デフォルトの名無しさん:2017/07/17(月) 15:27:30.94 ID:DkQimeru.net
ジェネリクスと nil 安全性が実装されたら kuso 言語でないと認める

890 :デフォルトの名無しさん:2017/07/17(月) 17:43:48.37 ID:hXjse7Lp.net
C++ か Java でも使ってればいいんじゃないかな

891 :デフォルトの名無しさん:2017/07/17(月) 19:23:15.17 ID:stj3YUiZ.net
今日Goインストールしました、
ビルドしてexeファイル作るのまではできたけど、
Goで取ってきたデータを、
表示する、アプリみたいなのを作るにはどうすればいいの?
ほかの人のPCでアプリを実行できるようにしたいです。

892 :デフォルトの名無しさん:2017/07/17(月) 20:01:14.42 ID:pfmhHyiC.net
>>891
1バイナリのみで渡したいなら素材も埋め込む
埋め込み用のライブラリを使うのが普通

893 :デフォルトの名無しさん:2017/07/17(月) 20:40:18.36 ID:stj3YUiZ.net
>>892
すみません、
初心者なので意味が分からないです、
でも、ありがとうございます。

894 :デフォルトの名無しさん:2017/07/17(月) 20:44:48.16 ID:HJdOjxBV.net
対話がチグハグすぎる。

質問者はwebから情報を取得して表示するアプリを作りたいと言っておる。

GUIアプリを作りたいと言っているんだろうか?
それとも、、、なんだろ?

895 :デフォルトの名無しさん:2017/07/17(月) 20:50:45.38 ID:stj3YUiZ.net
>>894
そうですそれです、
webから取得したデータを、
表示するGUIアプリを作って、
他の人のPCでも、簡単に実行できるようにしたいです、
今は、取得したデータを、
コマンドプロンプトに表示させるのしかできません。。。

896 :デフォルトの名無しさん:2017/07/17(月) 21:03:19.67 ID:HJdOjxBV.net
>>895
それはあんまりgoの得意な分野ではないかなー。
やったことはないけど
http://qiita.com/intelf___/items/2207c02c306a495d99e6
とかかね。

897 :デフォルトの名無しさん:2017/07/17(月) 21:06:12.58 ID:stj3YUiZ.net
>>896
詳しい人でもあまりやったことないんですね、
アプリ作るの想定してない言語なのかな、
情報ありがとうございます、
そこ読んで勉強してみます。

898 :デフォルトの名無しさん:2017/07/17(月) 21:11:10.65 ID:HJdOjxBV.net
>>897
Goをやってる人って複数言語をたしなんでいるとこが多いから
GUIが得意な言語を使うと思う。
GoでわざわざGUIをやりたいというのは変態くらいだと思うよ。今のところ。
webアプリとかならありえるし
どういうアプリか知らんけどwebサーバとして動作させて
ブラウザで結果表示するとかが、まぁGoアプリとしてありえる範囲かと。

899 :デフォルトの名無しさん:2017/07/17(月) 21:38:02.29 ID:pfmhHyiC.net
GUIアプリのことだったのか、それは失礼
他の人が回答してるようにGoの得意分野じゃないから止めた方が良いね

900 :デフォルトの名無しさん:2017/07/17(月) 23:43:30.10 ID:qHGcXNCc.net
そういう用途ならWebアプリが一番無難だよね。つまりJavaScriptかAltJSの言語

901 :デフォルトの名無しさん:2017/07/18(火) 00:42:33.52 ID:L9UQruVY.net
>>889
すごく同意

902 :デフォルトの名無しさん:2017/07/18(火) 17:19:23.70 ID:ltlpiHrO.net
null安全は今から入れると互換性保てないからな
最初から入れなかったGoogleは馬鹿

903 :デフォルトの名無しさん:2017/07/18(火) 18:56:12.92 ID:Z6ozUYhv.net
今さら、だな

904 :デフォルトの名無しさん:2017/07/18(火) 20:20:35.08 ID:6/aX4y+Q.net
typescriptは後入れできてるけどな。

905 :デフォルトの名無しさん:2017/07/18(火) 21:22:05.30 ID:UMkIx05v.net
>>904
ライブラリは対応してなかったりで面倒だぞ

906 :デフォルトの名無しさん:2017/07/20(木) 16:06:01.17 ID:TTDKN4T0.net
The Go Blog Toward Go 2
ttps://blog.golang.org/toward-go2

ようやくこれを読んだけど面白いこと発表したわけじゃないのな
何にも決まってないけどGo 2リリースに向けて手伝って!とか言ってるから信者は助けてあげればいいんじゃないかなぁ
問題提起だけでも助かるって言ってるからnull安全だのジェネリクスがないからダメって言ったら聞いてくれるはずだよ

907 :デフォルトの名無しさん:2017/07/20(木) 16:14:08.52 ID:hN2WxidD.net
そうそう、ダメダメなんて抽象的なこと言ってても放置されるだけだってね
具体的な体験レポートを提出して説得しろってさ頑張れよ

908 :デフォルトの名無しさん:2017/07/20(木) 21:02:59.35.net
goってcode generete推奨って感じだけど
generete自体はtemplate文字列とか使ってて
ライブラリ開発者は辛い思いしてるよね。
(xoのテンプレートいじるの辛い)

だから時期パージョンではAST出力とASTからbin生成をサポートして欲しいな。
そうするとaltGoみたいのが作り安くなって言語ごとカスタマイズ出来るようになるし

909 :デフォルトの名無しさん:2017/07/23(日) 02:23:00.81 ID:22lpzJ7z.net
ジェネリクスの追加で、みんなハッピーになるのかな
仕様の変更や削減はいいけど、追加を最小限にとどめられるかが勝負だね

あと2進数リテラルは、重要だと思うんだけど、そんなことないの?
8進より、よほど役に立つと思うんだけど、8進リテラルって何か特種用途があるの?

ってか8進数なんて切り捨てて、アンダーバー付きの2進リテラルを追加した方が良かったと思うんだ
8進数なんて、誰が求めているのかよく分からないし、せめて0oにしてくれた方が・・・
こういうのを排除するのが、この言語の正しい姿勢だと思うんだけどね

910 :デフォルトの名無しさん:2017/07/23(日) 16:17:42.71 ID:knasDU4O.net
>>909
けっこう賛成

911 :デフォルトの名無しさん:2017/07/26(水) 10:18:59.22 ID:ENBFGRGX.net
>>909
合議制になるんだから提案してみたらいいんじゃない。
おれとしても賛成だよ。
個人的にはelixirのパターンマッチングでバイナリにもマッチングできる仕組みに感動して、
goでバイナリ操作したいならelixirみたいなパターンマッチング欲しいって思った。
ジェネリクスはほしいけどrustでいいかなって気もしてる。

912 :デフォルトの名無しさん:2017/07/28(金) 16:54:15.48 ID:9dM+xDfx.net
>>909
3bit区切りのデータを表現する時とかに判りやすい

913 :デフォルトの名無しさん:2017/07/29(土) 13:11:38.29 ID:7d+TUsbq.net
8進数……昔PC-88のCMD PAL文で使ったぐらいだな。

914 :デフォルトの名無しさん:2017/08/05(土) 12:25:03.33 ID:ggnuHEiJ.net
ジェネリクスじゃなくていいから
interfaceの結合型が簡単に作れるようにして欲しい

func Xxxx(readWriter io.Reader & io.Writer)
func Xxxx(readerOrWriter io.Reader | io.Writer)

とりあえずinterface{} が 関数のパラメータになってるの辛すぎだからそこを解消して欲しいわ

915 :sage:2017/08/07(月) 01:18:22.11 ID:ncmD/ymY.net
ちょっと触ってみた

一撃でランタイムなくても動くバイナリができたときはびっくりした

916 :デフォルトの名無しさん:2017/08/08(火) 19:23:17.89 ID:ljoKaOtb.net
おめ

917 :デフォルトの名無しさん:2017/08/09(水) 13:45:53.99 ID:tJ5llPZ8.net
そのバイナリだけでサーバーが起動するのも感動する

918 :デフォルトの名無しさん:2017/08/17(木) 01:04:47.91 ID:5a8n6tS4.net
Go2ではコレクション操作の機能をもっと豊富に用意してほしい
forループ文だらけになるわ

919 :デフォルトの名無しさん:2017/08/17(木) 01:23:28.75 ID:lKqFMmqx.net
本当これ
mapとfilterよこせや

920 :デフォルトの名無しさん:2017/08/17(木) 08:19:52.91 ID:7NUjepJC.net
\ ループだらけフォォォーーーーッ! /

921 :デフォルトの名無しさん:2017/08/17(木) 09:19:08.10 ID:wX4L2Jep.net
>>919
これデファクトスタンダードなライブラリってないのかな

922 :デフォルトの名無しさん:2017/08/17(木) 09:24:39.67 ID:vK4PZ24H.net
Ruby でも使ってればいいんじゃない

923 :デフォルトの名無しさん:2017/08/17(木) 09:43:34.47 ID:EtIXwQlG.net
なぜRustとかでなくRubyなのか

924 :デフォルトの名無しさん:2017/08/17(木) 09:46:20.42 ID:lKqFMmqx.net
>>921
ジェネリクスがないから型安全じゃなくなる

925 :デフォルトの名無しさん:2017/08/17(木) 10:57:10.38 ID:wX4L2Jep.net
>>924
くそ。やはりジェネリクスか。
goのエコシステムは好きだからrubyとかrustを使う気はないんだよなぁ。
generete使って実装追加するようなのならあるかな?

926 :デフォルトの名無しさん:2017/08/17(木) 11:47:09.52 ID:lJ+MJ24Q.net
ジェネリクス追加せずとも型推論強化でなんとかかんとか

927 :デフォルトの名無しさん:2017/08/17(木) 23:51:48.55 ID:JDyXRi5Q.net
golangで2chに書き込めない
クッキーの設定エラーが出る。ヘッダに入れてるんだけどな
あとレスポンスのsjis to utf8は出来たけどリクエストをutf8 to sjisする方法が分からない

928 :デフォルトの名無しさん:2017/08/18(金) 00:03:21.95 ID:c33/jNGO.net
いきなりgolangで書き込むんじゃなくて
主導の対話通信(telnetあたり)で2chへ書き込んで通信の内容でも確認してみたらよいんでない?

929 :デフォルトの名無しさん:2017/08/18(金) 00:05:54.58 ID:c33/jNGO.net
go - Goで[]byteをshift-jisの文字列に変換する - スタック・オーバーフロー
https://ja.stackoverflow.com/questions/6120/go%e3%81%a7byte%e3%82%92shift-jis%e3%81%ae%e6%96%87%e5%ad%97%e5%88%97%e3%81%ab%e5%a4%89%e6%8f%9b%e3%81%99%e3%82%8b

930 :デフォルトの名無しさん:2017/08/18(金) 00:07:29.39 ID:c33/jNGO.net
Go言語で文字コード変換 - Qiita
http://qiita.com/uchiko/items/1810ddacd23fd4d3c934

Golang による文字エンコーディング変換 - Qiita
http://qiita.com/spiegel-im-spiegel/items/2e475b48226330aa5570

931 :デフォルトの名無しさん:2017/08/18(金) 00:17:02.43 ID:bO8OoBBY.net
Set-Cookieが複数あったのが原因だった
すまん

932 :デフォルトの名無しさん:2017/08/18(金) 00:44:00.14 ID:bO8OoBBY.net
あ、書き込みは出来るけど文字化けするのか

>>928
node.jsでしかしたことなかった

>>929
>>930
http.NewRequest("POST", "https://"+params.server+".2ch.net/test/bbs.cgi?guid=ON", transform.NewReader(strings.NewReader(values.Encode()), japanese.ShiftJIS.NewEncoder()))
ってしてみたけど文字化けして書けない

933 :デフォルトの名無しさん:2017/08/18(金) 01:33:09.70 ID:bO8OoBBY.net
values.Encode()の時点でURLエンコーディング(UTF8)されるからそれをSJISにしても意味ないのか
やっと原因分かった

934 :デフォルトの名無しさん:2017/08/18(金) 01:45:45.20 ID:bO8OoBBY.net
SJISのURLエンコードを出来るライブラリが見つからないのですが、何かないですか?

935 :デフォルトの名無しさん:2017/08/18(金) 04:24:15.42 ID:Wk6Gpf/O.net
strings.NewReader(values.Encode())

これ何やってんのさ

936 :デフォルトの名無しさん:2017/08/18(金) 05:00:28.28 ID:Wk6Gpf/O.net
こんなんで通らんの?
https://play.golang.org/p/WIuVrc6hL5

937 :デフォルトの名無しさん:2017/08/18(金) 05:03:09.61 ID:Wk6Gpf/O.net
>>936
あ、間違えた、URLエンコードじゃねえ

938 :デフォルトの名無しさん:2017/08/18(金) 05:16:20.81 ID:Wk6Gpf/O.net
>>937
こうだな
https://play.golang.org/p/haVEWGKoc1

939 :デフォルトの名無しさん:2017/08/18(金) 06:41:42.32 ID:mSCO2cNh.net
頑なにgoにgenericsはいらないって主張してた人たちの立場はどうなってるの?

940 :デフォルトの名無しさん:2017/08/18(金) 09:03:43.27 ID:+X0+m8dy.net
>>939
あれは要らないって言ってるわけじゃなくて無くても筋力で頑張るって言ってる

941 :デフォルトの名無しさん:2017/08/18(金) 11:29:59.19 ID:vRHq3miw.net
別に立場変わらずgoにgenericsはいらないって主張してるでしょ

genericsが必要だって主張してる人たちが
Go2ならgenericsを採用してくれる機会があるはず!って盛り上がってる(?)だけで
ついでに例外とAssertも盛り上がってくれねぇかな

942 :デフォルトの名無しさん:2017/08/18(金) 11:33:40.78 ID:+X0+m8dy.net
個人的にはinterface{}型が関数パラメータに多用されてしまう状況を改善してくれるだけでいい。
例外は別に無くてもいいかな。

943 :デフォルトの名無しさん:2017/08/18(金) 12:04:12.59 ID:eIpnBeVf.net
2ちゃんもutf-8化はよ

944 :デフォルトの名無しさん:2017/08/18(金) 12:09:30.77 ID:bO8OoBBY.net
url.Valuesに突っ込むキーと値をsjis化したら文字化けせずにpost出来た

>>943
itestAPIならutf8だけどそれ以外面倒だよな

945 :デフォルトの名無しさん:2017/08/18(金) 18:47:51.91 ID:rPePw4sf.net
Goで2chって↓のスレの関係の人?

http://jbbs.shitaraba.net/bbs/read.cgi/computer/44607/1489736608/

946 :デフォルトの名無しさん:2017/08/18(金) 19:03:33.52 ID:PB7aU8rD.net
>>945
違うよ
そのスレ初めて見た

947 :デフォルトの名無しさん:2017/08/25(金) 10:47:42.16 ID:+IyaXioz.net
Go 1.9 is released
https://blog.golang.org/go1.9

948 :デフォルトの名無しさん:2017/08/25(金) 16:47:51.80 ID:a5MHugSq.net
ついに1.9!
もう少しで2.0やん

949 :デフォルトの名無しさん:2017/08/25(金) 18:58:27.43 ID:eQ9TUNW0.net
次は1.10でしょ

950 :デフォルトの名無しさん:2017/08/25(金) 19:08:15.57 ID:a5MHugSq.net
あ、そっか

951 :デフォルトの名無しさん:2017/08/25(金) 21:04:31.34 ID:wqoYH6g/.net
1.20 = 2.0 になるって言ってんだろ
まだ先はなげーよな

952 :デフォルトの名無しさん:2017/08/26(土) 00:46:54.39 ID:8IY83KqL.net
某言語では、0.100とかいうことになってたね…

953 :デフォルトの名無しさん:2017/08/26(土) 01:02:11.77 ID:UaCnfxPk.net
>>952
何その言語

954 :デフォルトの名無しさん:2017/08/26(土) 09:39:10.71 ID:zUqg3XaP.net
言語じゃなくwineじゃないの?

955 :デフォルトの名無しさん:2017/08/26(土) 10:09:59.64 ID:8IY83KqL.net
D言語です、D言語

956 :デフォルトの名無しさん:2017/08/26(土) 10:36:59.91 ID:XF+FkSFR.net
golangを基礎から学ぶためにrubyのhttps://docs.ruby-lang.org/ja/2.4.0/doc/index.htmlに載ってる言語仕様みたいなのをgolangのドキュメントで探してるんですけど
どこをみたらいいですか?

957 :デフォルトの名無しさん:2017/08/26(土) 10:49:06.08 ID:gyHjYOL6.net
Documentation - The Go Programming Language
https://golang.org/doc/

958 :デフォルトの名無しさん:2017/08/26(土) 13:10:28.24 ID:1Xp/S2sl.net
日本語訳
公式・非公式は、わからないけど

http://golang.jp/

http://golang-jp.org/doc/

959 :デフォルトの名無しさん:2017/08/26(土) 19:58:41.27 ID:7lTOqKMJ.net
>>958
golang.jpは古いしメンテされてなくて放置されてるので見ないように

960 :デフォルトの名無しさん:2017/08/27(日) 08:21:25.17 ID:gv0iyIef.net
今更だけどGoglandアプデしたらmainパッケージ内で複数ファイルのビルドができるようになてた

言語専用のIDEがあるって理由で使ってる人はあんまりいないか
俺の開発の8割はIDEに支えられている…

961 :デフォルトの名無しさん:2017/08/27(日) 11:36:53.98 ID:Fy+qgg0G.net
GOPATH=~/goって設定してるんですけど
depを使うようになったのでGOPATH=~/foo:~/goな風に設定したんですよ
これでdep ensureすると自動的に~/foo/以下の適当な場所に人様のパッケージがインストールされるんですが
binコマンドが生成されないんです
depを使わずgo getでインストールするとbinコマンドが生成されるんですがdep使ってインストールしたらbinコマンドが生成されないんでしょうか?
例えばhttps://github.com/spf13/cobra

962 :デフォルトの名無しさん:2017/08/28(月) 00:07:23.17 ID:d332SnKK.net
https://github.com/golang/dep/wiki/Roadmap
https://github.com/golang/dep/issues
https://github.com/golang/dep/issues?q=is%3Aissue+is%3Aclosed

963 :デフォルトの名無しさん:2017/08/28(月) 05:58:13.56 ID:4ejthJEF.net
>>958-959
改訂2版 基礎からわかる Go言語、古川昇(エイベル)、2015

golang.jp は、古川氏とエイベルの社員達が、翻訳していたらしいけど、
最近は、翻訳していないのか

Go Tour 日本語訳
https://go-tour-jp.appspot.com/welcome/1

964 :デフォルトの名無しさん:2017/09/12(火) 00:58:09.78 ID:hQHe5647.net
誰が書いてもまどろっこしいコードになるのがGoの最大の強み

965 :デフォルトの名無しさん:2017/09/13(水) 23:59:51.38 ID:NpFfvGPs.net
>>363
逆でしょ。

966 :デフォルトの名無しさん:2017/09/14(木) 00:08:12.58 ID:6Rx4F0Vi.net
goto 推奨?

967 :デフォルトの名無しさん:2017/09/24(日) 03:36:18.82 ID:I7KEdc5J.net
日本のおっさん共のgoコミュニティー気持ち悪いなぁ

968 :デフォルトの名無しさん:2017/09/24(日) 05:52:40.41 ID:Kg+0Au0P.net
友達探しにコミュニティに参加するつもりでいて
気持ち悪いと思うのなら参加しなければ良い

技術的な事をもっと深く知りたくて
コミュニティに参加したいと思ってるなら
人見てコミュニティ選んでるコミュ障のお前の方が気持ち悪い

969 :デフォルトの名無しさん:2017/09/24(日) 16:08:08.18 ID:ZXx1BO+p.net
朝鮮のおっさん共だと気持ち悪く無いって意味じゃない?、同胞の精神だね

970 :デフォルトの名無しさん:2017/09/24(日) 19:43:27.73 ID:W4+6Kt87.net
言語マニアが出した批判記事にクソヘボいコードが載ってて笑った

971 :デフォルトの名無しさん:2017/09/24(日) 23:14:09.61 ID:7raCX1cz.net
こんなとこで場外乱闘か

972 :デフォルトの名無しさん:2017/09/28(木) 12:31:06.65 ID:h8WKWHlz.net
type fSlice []float64
var pool = sync.Pool{
  New: func() interface{} {
    return make(fSlice, 0, 100)
  },
}
go func(){
  n := pool.Get().(fSlice)
  ...
  pool.Put(n)
}()
20回に1回くらい
panic: interface conversion: interface {} is *main.fSlice, not main.fSlice
pool.Get().(*fSlice)なんてすると
panic: interface conversion: interface {} is main.fSlice, not *main.fSlice
で仕方なく
n,ok := pool.Get().(fSlice)
if !ok {...}した時に気づいたのだけど、Falseでも下の処理には影響しない
Falseだと100回のappendで何故かCapが128になる(Trueだと100)
この謎分かる?

973 :デフォルトの名無しさん:2017/09/28(木) 13:36:21.42 ID:h8WKWHlz.net
原因分かりました
pool.Put(n)の所、端折って書きましたが、実際はresetメソッド作ってそっちで(*n)[:0]してましたが
func(f *fSlice)reset(){
  *f= (*f)[:0]
  pool.Put(f) → pool.Put(*f)にすべきでした
}
サーセン

974 :デフォルトの名無しさん:2017/11/11(土) 00:39:24.57 ID:LLMRc4SD.net
質問です。
先日始めたばかりでデリファレンスの仕方が分からなくて困ってます。
超初歩的ですが教えてください。

コードは以下と同類です。
http://go-database-sql.org/varcols.html

これの dest:= の部分を

th := []interface{}{ new(int), new(string), new(string)}

にして読み込んだところ、
確かにポインタのスライスになっているようなのですが、デリファレンス出来ません。
(単に書き方が分からないだけですが)
試した結果は以下です。

fmt.Println(*th[0], " ", *th[1], " ", *th[2]) // invalid indirect of th[0] (type interface {})
fmt.Println(*(th[0]), " ", *(th[1]), " ", *(th[2])) // invalid indirect of th[0] (type interface {})
fmt.Println(th[0], " ", th[1], " ", th[2]) // 0x11f09b08 0x11ea1468 0x11ea1470
fmt.Println(th) // [0x11f09b08 0x11ea1468 0x11ea1470]

よろしくお願いします。
sqlx使ってもいいのですが、そもそもデリファレンス出来ないのがよく分かりません。

975 :デフォルトの名無しさん:2017/11/11(土) 07:08:21.29 ID:qi+awpQj.net
>>974
Goにとっては、要素がポインタではなくてただの interface{} に見えている。
なのでデリファレンスできないというエラーになる。

方法としてあるのは、th := []*interface{}{...} にする方法。
ポインタの配列と宣言しているので、要素のデリファレンスが可能。

もしくは、要素ごとに、デリファレンスする前に、*intとかに型アサーション(ググって)をする。
その後でデリファレンスする。

976 :デフォルトの名無しさん:2017/11/11(土) 09:52:19.27 ID:LLMRc4SD.net
>>975
最終的にはいけました。ありがとうございました。

> th := []*interface{}{...} にする方法

th := []*interface{}{new (int32), new(string), new(string)}
// cannot use new(int32) (type *int32) as type *interface {} in array or slice literal: *interface {} is pointer to interface, not interface
// cannot use th (type []*interface {}) as type []interface {} in argument to rows.Scan

これは駄目でした。new (int32)がポインタ配列に何故か入れられないという謎仕様?
全ての型はemptyインタフェース interface{} を実装しているのに、
全てのポインタ型はemptyインタフェースへのポインタを実装してない?
(rows.Scanでは受けられないというのはこちらの話ですが)
まあ今の段階ではよく分かりません。

> 要素ごとに、デリファレンスする前に、*intとかに型アサーション

fmt.Println(*(th[0].(*int32)), " ", *(th[1].(*string)), " ", *(th[2].(*string)))

こちらはいけたのですが、しかしこれではなあと。個別べた書きでは意味無いんですよね。
本当は構造体で受けたいのですが、sqlxしかないのかなあと。
(sqlxは内部で使用しているであろうリフレクションが遅そうでいや)

Goはリフレクションが遅くないとかいう落ちってあります?
リフレクション用のタグを別装備しているし、静的にリフレクションしてたりします?
というか動的言語(PHP/JavaScript)からの移植がこんな初歩的なところで躓くのは想定外でした。
動的言語前提の構造になっているとかなり辛いですね。
json周りでも同様のことが想定されますし、そのための型スイッチってのも何だかなあ、という気がします。
愚痴になってしまってすいません。

977 :デフォルトの名無しさん:2017/11/11(土) 11:11:10.62 ID:rrUNs59d.net
new している意味がよく分からないけど、予め変数を割り当ててしまえば良いような?

rows, err := db.Query("select id, first_name, last_name from users")
:
var (
id int
firstName, lastName string
)
rows.Next()
err = rows.Scan(&id, &firstName, &lastName)
:

978 :デフォルトの名無しさん:2017/11/11(土) 13:21:37.63 ID:Zhof0cH3.net
>>977
それだとDBのレコード個別にコードが必要になる。
だから当然困るし、当然同じように困っている人も居て、ググると出てくる。
https://stackoverflow.com/questions/17840963/create-a-map-in-golang-from-database-rows
それでsqlxなのだが、見る限りこれ裸のGoでも出来るのではないかと思って試していたわけ。

newしている意味はない、というか見ての通り今は文法もあやしいので、
動くコードを探してそこからスタートしてる。

ただそもそもsqlでレコードをいちいち走査することもないから、やりたいのはまさにsqlxのこれで、

> pp := []Place{}
> err = db.Select(&pp, "SELECT * FROM place WHERE telcode > ?", 50)
> http://jmoiron.github.io/sqlx/ より抜粋

何故これが標準でないのかがよく分からない。
(ついでに言えば三項演算子がないのも変だと思うが。)

とはいえ、自前でsqlxバリの環境を整えるなら結局リフレクションしか(多分)なく、
これが静的言語の限界というか当然で、それならsqlxを使った方が多分マシ。
楽して速い言語かと期待していたが、正直プログラミングレベルはCと大して変わらないし、
1970年代で止まっている言語と揶揄されるのも分かる。
C+GC+型システムと考えた方がいいのかなこれは。

979 :デフォルトの名無しさん:2017/11/11(土) 13:33:59.14 ID:proXGFSN.net
phpと同じ感覚でgoでdatabase使おうとすると死ぬよね。
結局go側とsql側のスキーマ二重管理になるから、そのままphpと同じノリで使えない。動的言語と静的言語の差だね。

じゃあどうするかというとsql側のスキーマからgoの構造体をコード生成する。
xo とか使う。

http://tdoc.info/blog/2016/07/06/xo.html

980 :デフォルトの名無しさん:2017/11/11(土) 13:51:58.52 ID:LLMRc4SD.net
>>979
自動コード生成ツールか。まあPHPとGoを同時使用するのならありでしょうな。
ただまあ、俺の場合はそうではなく、Go内で二重管理するのが気に入らない。

俺が試しているのは掲示板なんだが、PHPの場合は結局、

echo json_encode(fetch_all($db,"SELECT * FROM threads;")); // fetch_allは全読み関数

だからリード側はDBの型依存が全くない。(何が入っていても中身を全部吐き出すだけ)
結果、新規機能追加の場合はライト側の変更だけでよく、変更は1箇所で済む。
Goだとリード側も変更が必要になるのが気に入らない。
だから構造体に押し込んで、リードもライトもその構造体ベースでやれれば変更は1箇所で済む、
ということを考えているのだが、これはSQLの構造上厳しそうだ。
今sqlx読んでいるが多分無理だね。

981 :デフォルトの名無しさん:2017/11/11(土) 14:03:02.50 ID:rrUNs59d.net
まぁでも、それだったら無理して go を使わなくてもいいんじゃ

982 :デフォルトの名無しさん:2017/11/11(土) 14:14:23.09 ID:proXGFSN.net
>>981
だよね。静的言語を使う限りどうしようもない。
スキーマ設定をどこに置くかという問題だと思うが。
goの構造体からsqlのスキーマを作る
or
sqlのスキーマからgoの構造体を作る

の二択しかない。リフレクションを駆使して動的にスキーマ解決したいって
結局実行時エラーの可能性が出るだけだし。

983 :デフォルトの名無しさん:2017/11/11(土) 14:27:57.90 ID:LLMRc4SD.net
>>981
今回は味見なんだよ。
だから糞でもとりあえずコードを書いてどれくらい速いか試すよ。
とはいえ、RawBytesとか用意して最下層のコピーもケチるくらいだから、完全にノリがCだね。
これで遅いわけがないが、結局は管理コストとの兼ね合いだろうね。
俺はC出身だから付いていけるけど、今時ではないよなこれは。

俺はPHPでも十分速いと思っている。
というか、SQLiteのラッパとしてしか使う気がないから、せいぜい100行程度しか実行しないし、
言語間の差異はほぼ無く、DBの性能が見えるだけだと思っている。
でもまあ、さんざん「PHPは糞だ」という奴が居るから味見中な訳だ。
選択肢が増えること自体は悪いことではないし。

Node.jsは既に味見終了して、データセットが小さい時はPHPよりは速い結果が出た。
しかし大きい時はPHPよりも遅くなった。これはclusterしてないのでシングルスレッドの限界かと思っている。
ただ、Nodeの場合は単一プロセスだからメモリ側にキャッシュ出来、これだと当然ぶっちぎりで速いので、
現実的にはこれかな、といった感じ。

で、Goはどうなの?ってのが今。興味あるのなら以下にどうぞ。
https://meguca.org/g/2724701
Haskellerが現れたので引っ張り込む方向で考えてる。
君らがGoのを書いてくれるのならこちらも助かるし歓迎する。

984 ::2017/11/11(土) 14:53:58.14 ID:X8lWnCzG.net
Cでこれ書いたら絶望的にめんどくさくない?
そもそもSQLサーバができることはSQLサーバに任せてストアドにするか、
データベース自体Goで書くか、なんかそうしないと、
インピーダンス差がでかすぎるのに2重管理しない、は無理じゃない?
2重管理が絶対的な悪ではないと思うけど。

985 :デフォルトの名無しさん:2017/11/11(土) 15:20:24.76 ID:LLMRc4SD.net
>>984
誰もCで書くとは言ってないが、仮にCで書くとして、
ライブラリが揃っていれば、大して苦労しないと思うよ。
Goとは大差ないだろう。

ほぼローカルで動作してしまうのでGCがないと苦労するってこともないし、
型システムも100行程度のプログラムならウザイくらいで大してメリットないし。

動的言語の場合は既に言われているようにスキーマ管理が一元化出来る
(正確にはやらなくてもそのまま動くだけだが)
分だけ書く量は少なくて済む。
プロトタイピングには動的言語の方が向いてる。

なお今回の場合はGoがCに劣ることもないので、わざわざCで書き直すメリットはない。
(GCをほぼ使わないから速度低下もないし)

986 :デフォルトの名無しさん:2017/11/11(土) 15:36:08.28 ID:proXGFSN.net
>>985
>動的言語の場合は既に言われているようにスキーマ管理が一元化出来る
>(正確にはやらなくてもそのまま動くだけだが)
> 分だけ書く量は少なくて済む。
> プロトタイピングには動的言語の方が向いてる。

同意する。Goでデータベース操作の決定版がでないのが物語ってる。

逆にGAE/goのdatastoreを使うときはGoとの相性の良さを感じる。
スキーマがGo側に設定することが決まっているから。

987 ::2017/11/11(土) 15:56:16.25 ID:X8lWnCzG.net
>>985
まー、確かに。
正直すぐ死ぬプログラムならメモリ管理もしない()という選択肢もあるわけだしな。
外の世界と相性の悪い言語だと言うことは確か。
形が適当なjsonとかとも同様にいちいちキャストがしちめんどくさいし。
c#で言うdynamicみたいな型がありゃ良いなとは思うが、コンパイル時に解決してる事を善とするので無いのは仕方ない。向いてないわ。

988 :デフォルトの名無しさん:2017/11/11(土) 16:18:54.52 ID:LLMRc4SD.net
というか、これはAPIが足りてないんだね。
(以下コードは文法があやふやなので参考程度で)

database/sqlはScanを使うのが定番のようだが、Scanではargsの可変長指定しかないのがいけない。
だから構造体の中身を確認するのにリフレクションが必要になってしまう。

type Thread struct {
no int
time int
body string
}
th := Thread{}
rows, err := db.Query("SELECT * from threads;")
err = rows.Scan(&th.no, &th.time, &th.body) // ここでばらすから中身を知らないといけない

とりあえずScanが構造体を受け、その構造体にScannerインタフェースを実装する方式なら、
リフレクションは回避出来るし、おそらく最高速度で動く。
ただ、このためのAPIがない。

err = rows.Scan(&th) // ばらさずに構造体を与える
func (th Thread) Scan(src interface{}) err // 各構造体でばらす。手間は増えるが最速のはず

DBを生で叩いたことがないから知らないが、DBからの出力が既に配列なのか?
或いは同様のことはポインタ配列で受ければいいので割り切ったか。(972参照)

>>986
GAE/Goはググってみたがよく分からん。
ただ今回はCREATE TABLE部分も自前で持つ為、スキーマ管理はGo側でも「本来は」出来る。
SQLの構造上、CREATE TABLE と INSERT はほぼ同じなのでPHP等ではSQL文字列を共有出来る。
だから1箇所にしか書かずに済んでた。ところがGoはリード側も必要だからぐぬぬ、ってなってる。

989 :デフォルトの名無しさん:2017/11/11(土) 16:29:51.83 ID:LLMRc4SD.net
>>987
お前他スレも荒らしてた荒らしだろ。

この程度のプログラムで「メモリ管理(キリッ」とか言っちゃう時点でお前はCを知らないし、
お前みたいな馬鹿にはCは無理だ。
それで何故Cに話を振る?だれもCで実装しようともしてないのに。

普通にCが出来る奴なら鯖でDB読んでJSON返すだけのプログラムでリークはしないし、
リークしないように管理する(程のこともないが)に苦労することもない。
そもそもそれはGoで書いた時にGCがどこで動くか見えていれば分かるはず。
君はそこにも達していない。

990 :デフォルトの名無しさん:2017/11/11(土) 17:10:37.92 ID:ZUnF3Lay.net
うめようず

991 :デフォルトの名無しさん:2017/11/11(土) 17:56:09.07 ID:LLMRc4SD.net
というか void* がないのね。
これではどうやっても fetch_all で隠蔽出来そうにない。
まあ void* なんて認めたら型システムは崩壊するから致し方無しか。

そしていきなりunsafeに手を出そうかと考えているわけだが、
これって Offsetofがあるって事は基本的にはマーシャル用なのかな?

992 ::2017/11/11(土) 18:53:30.76 ID:X8lWnCzG.net
>>989
荒らしじゃないよ。
真面目に話してるが、仮定に対して仮定したら切れるって意味わからん。

993 ::2017/11/11(土) 18:58:21.35 ID:X8lWnCzG.net
>>989
まさか、
>>983の、ノリがC、C出身だからついてける、に対して
「ならCで書けば?でもめんどくさいと思うけど。」って嫌味だって気づいてないんだろうか?
可哀想な人ってどこにでも居るんだな。

Gcが動くタイミングに関しては、多分もう少しマシなレベルで知ってると思うけど。

そもそも、CでDBから取得してどうの、と言う話で、何を使うかどう取得するかすら決まってないのに、リークしないようにメモリ管理するなんて絵空事は言えんだろ。
全部インハウスライブラリならわかるけどさ。
メモリ管理しない、は思いつきでも言えるわ(笑)

994 ::2017/11/11(土) 18:59:31.42 ID:X8lWnCzG.net
嫌味が荒らしになるとは、ネットは京都より平和な場所になったんだなぁ。

995 ::2017/11/11(土) 19:03:39.05 ID:X8lWnCzG.net
よく読んだら>>981で同じ事言われてるのにドヤ顔で返事してるし、本気でそうなんだろうな。

void* をどう使いたいかによるだろうが、それこそ*interface{}じゃねえの?と思ってしまう。

996 :デフォルトの名無しさん:2017/11/11(土) 19:16:58.98 ID:TpLoCFAx.net
次スレよろ

997 ::2017/11/11(土) 19:23:54.10 ID:X8lWnCzG.net
まあ、要らないカラムが多すぎるだけなら、
row,err:=sql.Queryで、
column,err:=row.Columns()
vals:=Make([]sql.RawBytes,len(column))
args:=Make([]interface,len(column))
for i:= range values {
 args[i]=&vals[i]
}

でvalsとargsつくって、
Scanに(args...)で渡せば、
使うときにvals[i]をstring(vals[i])とかよしなにしちゃえるんじゃないの?

998 :デフォルトの名無しさん:2017/11/11(土) 19:26:08.40 ID:LLMRc4SD.net
>>993
日本語でおk

君と話が噛み合わないのは、君が勝手に読み違えているから。
それは君の日本語能力が不十分だから。
だから君は荒らしなんだよ。
俺は他スレで君が同様に空回りしてるのを見たことがある、というだけ。

君には荒らすつもりはないのだろう、それは事実としても、
日本語能力が足りない奴がレスすること自体が荒らし行為なんだよ。
馬鹿なら馬鹿なりに何度でも読み返せばいいだけなんだがな。

韓国人ならマジで死んでくれ。


>>996
おk。>>46見る限り次スレはpart6(このスレがpart5相当)でいいか?
8時まで待って異議なしなら俺が建ててみる。
異議ありならその人が建てて。

999 ::2017/11/11(土) 19:26:19.52 ID:X8lWnCzG.net
Go language part 2
http://mevius.5ch.net/test/read.cgi/tech/1510395926/

あんまり立てないから間違ってたらごめん。

1000 ::2017/11/11(土) 19:26:34.95 ID:X8lWnCzG.net
>>998
ごめん、勢いで建てた。

1001 ::2017/11/11(土) 19:27:10.90 ID:X8lWnCzG.net
>>998
バカはバカなりに何度も読み返してくれれば、嫌味にも気がついだだろうに。悲しいなぁ。

1002 ::2017/11/11(土) 19:34:53.44 ID:X8lWnCzG.net
まあ、可変長受ける関数に実体を指すinterfaceの参照のスライスを...で渡せるのはと割と便利。

1003 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1003
234 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★