Go language part 1

0001デフォルトの名無しさん2013/10/10(木) 12:04:51.78
Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。
0002デフォルトの名無しさん2013/10/10(木) 12:06:28.37
公式ドキュメント
http://golang.org/doc/

日本語訳
http://golang.jp
0003デフォルトの名無しさん2013/10/10(木) 12:07:24.16
おつおつ

早速だけどDartとはどう違うの?
0004デフォルトの名無しさん2013/10/10(木) 21:57:12.48
1じゃなくて既にdat落ちしたスレがあったはず
0005デフォルトの名無しさん2013/10/11(金) 03:38:07.23
go to the jukai
0006デフォルトの名無しさん2013/10/11(金) 18:13:03.60
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

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

                  京都大学霊長類研究所
0007デフォルトの名無しさん2013/10/12(土) 20:03:04.02
test
0008デフォルトの名無しさん2013/10/12(土) 20:41:16.44
SDLとかQtとかGTKがしっかり使えるライブラリが出たら流行りそう
0009デフォルトの名無しさん2013/10/13(日) 19:51:55.28
golangの有様だよ!
0010デフォルトの名無しさん2013/10/14(月) 03:46:46.20
0011デフォルトの名無しさん2013/10/14(月) 03:47:43.24
GoがGoogleによって開発されたとか痛すぎだろ
0012デフォルトの名無しさん2013/10/14(月) 21:29:42.09
おれが日本Golang界の神になる
0013デフォルトの名無しさん2013/10/18(金) 20:13:25.31
import cycle not allowed ってなんだ?
0014デフォルトの名無しさん2013/10/18(金) 20:22:22.49
A が B をインポートして B が A をインポートするアレじゃない? 循環インポート
0015デフォルトの名無しさん2013/10/26(土) 12:02:28.85
未使用変数やインポートでコンパイルエラーになるのはビビる
ライブラリ周りが整ったら使ってみたいな
0016デフォルトの名無しさん2013/10/26(土) 12:44:50.43
循環インポートがダメとか嫌だなあ
0017デフォルトの名無しさん2013/10/26(土) 13:37:33.48
枯れてたり流行ってる言語ならスレも盛り上がるが
Goは新しいし情報があまり出回ってないっていうものあって
ブログとかSNSとかスライドとか発表会で発表したほうが名前が売れるから2ちゃんじゃ盛り上がらないだろうな
情報に精通してる人ならここも見てるはずなんだけどね
0018デフォルトの名無しさん2013/10/26(土) 14:04:00.67
                                            糸冬
                                       ---------------
                                        制作・著作 NHK
0019デフォルトの名無しさん2013/10/27(日) 00:14:36.66
例の10%の自由開発時間で作った成果物だから
あんまり積極的に開発継続しないんじゃないの?
0020デフォルトの名無しさん2013/10/27(日) 11:11:10.03
儲かるビジネス(になれば)が出来ればすぐ本気出すよGは
0021デフォルトの名無しさん2013/10/27(日) 19:42:25.43
でもすぐ投げ出すけどなGは
0022デフォルトの名無しさん2013/10/28(月) 11:34:18.97
>>1
昔あったからpart1ではないな
2か3くらい
0023デフォルトの名無しさん2013/10/29(火) 06:25:30.21
Gさいきんおかしいから距離置きたい
0024デフォルトの名無しさん2013/11/04(月) 17:48:37.72
パッと見、for文すらヘンテコな記号がいっぱいでてきてロクに読めない
もうちょっと分かりやすくしてくれよ

こんな感じで書ける様に
for a = 0 while a < 100 step a++ do {
...
}
foreach a in 0..100 do {
...
}
0025デフォルトの名無しさん2013/11/04(月) 17:52:22.32
むしろCっぽくてわかりやすいじゃん
0026デフォルトの名無しさん2013/11/07(木) 01:02:29.66
D言語スレはちょくちょくレスあるのになんでGoはこんな過疎なの
0027デフォルトの名無しさん2013/11/09(土) 19:46:10.60
リフレクションって構造体メンバ関数自体を値として取ること出来んの?
[key] = func
って感じに使いたいんだけど
0028デフォルトの名無しさん2013/11/10(日) 01:06:25.73
ValueのMethodByNameかMethodじゃ駄目か?
関数そのものじゃ無いけどCallで実行できる
0029デフォルトの名無しさん2013/11/10(日) 12:21:03.86
とりあえずGoの使いどころがわからない
0030デフォルトの名無しさん2013/11/10(日) 18:13:50.80
ゴルーチンでお手軽マルチコアプログラミング
0031デフォルトの名無しさん2013/11/10(日) 18:50:31.27
>>29
大規模開発だな。
言語仕様的に、別人が作ってしまって手が付けられないライブラリーでも
型がinterfaceに対応してないから、
委譲用のコード書かなきゃいけないとか、
ポインターに委譲するのに関数から同じ名前の関数に引き数を
渡す処理を書くとかしなくて済むようになってる。
0032デフォルトの名無しさん2013/11/12(火) 22:00:26.99
俺は神の一手になれない
0033デフォルトの名無しさん2013/11/24(日) 15:44:05.14
GoSFML2のサンプルをwindowsでコンパイルしたのですが
黒い窓が出てきてしまいます
オプションか何かで消すことは出来ますか?
また、そのようなオプションが無い場合は、何か他の手段で消すことは出来ますか?
0034332013/11/24(日) 16:10:52.86
自己解決しました

go build -ldflags "-H windowsgui"

で出来ました
0035デフォルトの名無しさん2013/12/02(月) 10:47:43.38
Goのリファレンスドキュメントをネットのない環境でも参照できるよう、ローカルにダウンロードしておきたい。
でもGoのSDKに入っているドキュメントは、golang.orgに繋がることが前提のようだった。
リファレンスをローカルに落とす方法ってない?(wgetだとリンクが・・・)
0036デフォルトの名無しさん2013/12/02(月) 11:28:38.41
自己レス
>>35
godoc -http :6060 &
open http://localhost:6060/
でいけた。ちょっとめんどいけど、まあいいや。
0037デフォルトの名無しさん2013/12/03(火) 22:24:45.52
>>36
インストールしたサードパーティ製ライブラリのドキュメントも見れるから本家より便利
0038デフォルトの名無しさん2013/12/10(火) 11:52:24.39
main.go:5:2: cannot find package "http" in any of:

何これ?標準でhttpパッケージ有るし
GorootのPathも通してんだけど
0039デフォルトの名無しさん2013/12/10(火) 12:01:53.25
よく見たらhttp無かった…
0040デフォルトの名無しさん2013/12/10(火) 13:02:12.00
これ全く触った事無かったら難しいな〜
まさかGitのインスコで失敗してたとは
0041デフォルトの名無しさん2013/12/10(火) 16:32:38.23
import "net/http"の間違いでは
0042デフォルトの名無しさん2013/12/24(火) 21:37:47.88
http://coin.nikkeibp.co.jp/coin/itpro/hansoku/nsw201402_1.html
>C言語代替で「Go」の時代が来る

ついに俺たちの時代が来るのか・・・!!!!!
0043デフォルトの名無しさん2014/01/01(水) 01:50:29.98
0044デフォルトの名無しさん2014/01/13(月) 12:16:17.91
動的言語だけやってた僕が、38日間Go言語を書いて学んだこと - Qiita [キータ]
http://qiita.com/suin/items/22662f43b6a6e8728798
0045デフォルトの名無しさん2014/01/18(土) 23:16:04.50
型宣言面倒臭い、と一度も思ったことがないな
0046デフォルトの名無しさん2014/01/20(月) 06:13:09.40
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で立て直す。
何も知らない情弱共が何も知らない顔で書き込み
結局即レスは回避したようだ。おめでとう。
0047デフォルトの名無しさん2014/01/20(月) 06:15:06.80
×即レス
◯即死
0048デフォルトの名無しさん2014/01/20(月) 06:28:30.39
Go 総合スレ
http://unkar.org/r/tech/1342535690 そもそも何が総合なのかわからなかった
                  知らないふりで書き込んで失敗した例
0049デフォルトの名無しさん2014/01/20(月) 09:45:34.40
ここだけじゃなくて色んなスレ見てるけど、2ch全体が下火になってきてる
0050デフォルトの名無しさん2014/01/27(月) 13:00:41.91
今年入ってからちょっと触ってるけど、これ結構いい感じだと思う
これが一番って感じにはならないかもしれないけどいくつか修得するうちの一つとしては薦められるようにはなってほしい
0051デフォルトの名無しさん2014/01/27(月) 13:15:20.02
パッケージ次第で凄い可能性があると思う
ここがプロの仕事で素人はインポートしてチョロ書きするだけで良い
0052デフォルトの名無しさん2014/01/28(火) 20:05:28.35
golang.jp全く更新されないね
0053デフォルトの名無しさん2014/02/01(土) 16:33:40.82
os.NewFileってどうやって使うかわかる人いる?
0054デフォルトの名無しさん2014/02/02(日) 04:01:00.42
syscallパッケージとかで得たfdがあるときに
第一引数にそれ、第二引数に保存先パスを渡して使うみたい
使ったことないけど
0055デフォルトの名無しさん2014/02/02(日) 14:58:49.44
>>53
http://stackoverflow.com/questions/17605588/correct-usage-of-os-newfile-in-go
既にある、os.File 型でないファイルを、os.File 型でラップするための低レベル関数で、一般ユーザーの
利用を想定したものではないそうな。
0056デフォルトの名無しさん2014/02/03(月) 00:37:35.80
サンクス

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

ループ内だけで使う物ならば、スコープ的にも積極的に
ループ内で宣言した方が良いのでしょうか?
0058デフォルトの名無しさん2014/02/07(金) 17:16:57.85
むしろループ外で使わない変数は内部で宣言した方が速い
0059デフォルトの名無しさん2014/02/07(金) 19:04:19.54
> ループの度に初期化されて処理速度に影響がないのだろうかと

決めつけず測定して確認したのは間違ってないけど、もうちょっとマクロに、
なんというかいちいち気にするまでもないムダをスルーする感覚を....
難しいかなぁ。
0060デフォルトの名無しさん2014/02/07(金) 23:37:47.28
その感覚難しい

今もまたIF ElseとSwich Caseでどっちが速いのか気になってやっちゃうし
AppendのCapは指定しとく方が速いのか気になってやっちゃう
所詮素人が趣味で作ってるレベルなのでご容赦を
0061デフォルトの名無しさん2014/02/14(金) 17:23:52.61
もうちょっと情報が欲しいな
基本的な事以外は全部手探りだから時間が掛かる

例えば、フィールドにスライスがある構造体で
構造体自体のスライスを作って増やしつつ
更にフィールドのスライスも増やす、とかさらっと書けない
試行錯誤で何とか出来たけど…
0062デフォルトの名無しさん2014/02/15(土) 12:25:15.98
goのネーミングって日本語の五から来てるの?
C(四)の次のgo(五)という
0063デフォルトの名無しさん2014/02/15(土) 17:30:52.59
>>60
>AppendのCapは指定しとく方が速いのか

これ要素追加が1万程度(Append1万回)なら
Cap指定しない方が僅かに速いか殆ど変わらない
どういう理屈でそうなんのか分からんけど
0064デフォルトの名無しさん2014/02/21(金) 12:13:52.04
>>63
キャッシュが効いてるだけ
事前に要素数が分かっていればCap指定しないと値のコピーが繰り返されるので遅い
0065デフォルトの名無しさん2014/03/03(月) 11:19:34.46
BreakeがSwichに効くのやめて欲しいわ
折角省略出来るようにしたんだから書いても同じ動作になるなら意味無いでしょ
0066デフォルトの名無しさん2014/03/09(日) 00:47:40.25
わかる。for switch case ときてbreakしたらforから抜けるようにして欲しい
0067デフォルトの名無しさん2014/03/27(木) 00:35:35.75 ID:NajF0K82
初心者だけどstrings.Reader をio.Reader として渡せるって仕様としてどうなの
継承も何もしてないけどコンパイル時にチェックされてるの?
0068デフォルトの名無しさん2014/03/27(木) 01:03:43.90 ID:jrFRKAI8
別に結構な言語でioの継承なんだが、なんか問題ある?
0069デフォルトの名無しさん2014/03/27(木) 01:23:58.48 ID:NajF0K82
string.Readerはio.Readerを継承してるの?
io.Readerの条件を満たしてるとは書いてると思ったけど
0070デフォルトの名無しさん2014/03/27(木) 01:44:26.20 ID:NajF0K82
突っかかってるようで悪かった
継承がない言語でダックタイピングできる、つまり条件を満たしてるとどうやって確信できるかわからなかったんだ
標準ライブラリを読んでるんだけど型アサーションしてないから不安になってるだけ
0071デフォルトの名無しさん2014/03/27(木) 05:15:32.21 ID:syLidNhE
ある型がインタフェースを実装してるかは規定されてるメソッドがあるかどうかだけで決まる
Javaみたいに明示しない
ちなみにインタフェースを実装してるかどうかはコンパイル時に解決される
strings.ReaderだったらRead(p []byte) (n int, err error)を持ってることからio.Readerを実装しているといえる

もし実装できてないのにそのインタフェースに代入しようとしたらコンパイルエラー出るから試してみて
これが非明示的なのはGoの目玉の一つだから公式のドキュメントなりどっかのブログなり読んでね
0072デフォルトの名無しさん2014/03/29(土) 00:49:28.00 ID:a/9aD0gE
interfaceって構造的部分型付けって事でいいんかいな
0073デフォルトの名無しさん2014/04/06(日) 16:57:33.01 ID:MCAj6vro
全ての型はInterfaceを内包している
0074デフォルトの名無しさん2014/04/21(月) 00:41:39.71 ID:BvA2ph+v
Goの継承っぽい機能って日本語で何て呼ぶのが良いんだろ
埋込型って呼んでるけど伝わるんかな
0075デフォルトの名無しさん2014/04/21(月) 10:58:39.64 ID:zriSdqBt
とりあえず、元の英語はなんだよ?
0076デフォルトの名無しさん2014/04/22(火) 00:56:19.23 ID:V38u3ZKO
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.
0077デフォルトの名無しさん2014/04/22(火) 09:36:11.23 ID:xnbqoEyH
じゃあ匿名フィールドにしよう(提案)
0078デフォルトの名無しさん2014/04/22(火) 12:08:13.66 ID:cWM9qn1m
無名じゃないか?
0079デフォルトの名無しさん2014/04/22(火) 19:04:17.16 ID:px+UMl9z
ちょっとしたコードを書いただけでもサイズが大きくなるのなんとかならんのかな
0080デフォルトの名無しさん2014/04/22(火) 20:04:18.23 ID:cWM9qn1m
全部スタティックリンクするからだから、理由があってのことなので
0081デフォルトの名無しさん2014/05/05(月) 21:06:28.33 ID:+tyXPhHV
故に組み込みには不向きだとどっかで見たな
将来改善されるのだろうか?
0082デフォルトの名無しさん2014/05/05(月) 23:06:49.70 ID:YuCWT0mm
むしろ組込み向けのほうがダイナミックリンクは避けたくないか?
Goが組込みに向いてるかどうかは別として。
0083デフォルトの名無しさん2014/05/08(木) 05:12:59.74 ID:5XLbD0ro
デバッグまともに出来るIDEあんのこれ?
32Bitで開発環境統一した方がいいんかな
0084デフォルトの名無しさん2014/05/18(日) 16:17:49.47 ID:mk6giDMC
Oracleとのアレでjavaやめてこっちくることはないかな
0085デフォルトの名無しさん2014/05/23(金) 23:43:10.01 ID:kqkMywsW
むしろdartじゃないか
0086デフォルトの名無しさん2014/05/24(土) 01:08:21.25 ID:uWBH7T6t
あれが、Googleが作った
プログラミング言語だよ。

ほらみて、ゴラン
0087デフォルトの名無しさん2014/05/24(土) 13:58:01.94 ID:35dvvibx
ファイルサイズが大きくなるのでこんなのが流行るのは困る
大手企業のプログラマーなら時間もあるし仕事で試しに導入するなんてことも余裕だけど
中小だとそんな余裕はない
0088デフォルトの名無しさん2014/05/24(土) 14:07:55.34 ID:hlo3j/US
ゴラン高原
0089デフォルトの名無しさん2014/05/25(日) 11:15:27.02 ID:bZpUSdHJ
goでファイルサイズが大きくなって困るのとか今時組み込みぐらいだろ。
0090デフォルトの名無しさん2014/06/06(金) 22:59:44.76 ID:a9mGSAin
C++は自分で一から書く文には問題ないけど、書き方が無茶苦茶な人から引き継いだ時が悲惨だった
そういうのがマシになりそうなコンパイラ言語だからこれ普及して欲しいんだけど、周りで扱ってる人ほとんどいないんだよなあ
0091デフォルトの名無しさん2014/06/06(金) 23:14:29.91 ID:fJT63IUR
リーディングコード読んでからGo書くとなるほどと思う事があった
0092デフォルトの名無しさん2014/06/06(金) 23:15:21.48 ID:fJT63IUR
リーダブルコードだったぉ
0093デフォルトの名無しさん2014/06/07(土) 00:31:14.08 ID:mUxFP0h6
>>92
どんまい
0094デフォルトの名無しさん2014/06/20(金) 14:52:51.87 ID:ltBAGUPz
go-gtk全然進んでないじゃん
やる気あんのかよ
0095デフォルトの名無しさん2014/06/20(金) 22:23:23.60 ID:QMkHcad5
windows環境でのGUIライブラリがもっと発展すれば普及もしそうなのにね
コンパイラ言語だし、仕様とかも結構気に入ってるからもっと頑張って欲しいんだけどなあ
0096デフォルトの名無しさん2014/06/21(土) 00:05:57.28 ID:UJNwDYla
windows環境ならWalk使えば良いんだけど、
リファレンスやチュートリアルが無いのが広まらない原因なのかなぁ。
サンプルは豊富なので機能は充分だと思うが。
0097デフォルトの名無しさん2014/06/21(土) 01:32:59.17 ID:5/17O7zj
クロスプラットフォームで動く定番のguiを我々は求めている
0098デフォルトの名無しさん2014/06/21(土) 01:55:32.09 ID:2OQISpPs
walk知らんかったけどmain見て萎えた
これをcoolって言っちゃってるひとって・・・
0099デフォルトの名無しさん2014/06/21(土) 14:08:11.15 ID:p8O6EEji
お、AndroidにGoサポート来る?
0100デフォルトの名無しさん2014/06/21(土) 20:56:12.02 ID:tQVBpUxD
Goでandroid開発できるなら覚えてもいい
0101デフォルトの名無しさん2014/06/21(土) 21:49:23.76 ID:53WiPR/D
>>97
ぼくも(´・ω・`)
もっとハッテンしてほしいお
0102デフォルトの名無しさん2014/06/21(土) 23:52:58.32 ID:kf4Mlylv
>>99
煽りじゃなくソース教えて。
今更だけど go ってほんと検索しずらい
0103デフォルトの名無しさん2014/06/22(日) 07:17:02.56 ID:41dfNV8s
https://docs.google.com/document/d/1N3XyVkAP8nmWjASz8L_OjjnjVKxgeVBjIsTr5qIUcA4
Javaを置き換えるわけじゃなくて、Android NDKをGoで使えるようにするみたい
ゲームみたいなものならGoだけで書けるようになるのかな
0104デフォルトの名無しさん2014/06/22(日) 12:52:07.50 ID:m/E1htcB
>>98
kwsk
0105デフォルトの名無しさん2014/06/24(火) 21:18:13.43 ID:UpeRHjTe
人がいないからあんち米すらでてこな
0106デフォルトの名無しさん2014/06/24(火) 22:05:30.11 ID:3jg/jifd
Go界隈で日本語コミュニティ必要ないからな
みんな英語できるだろうし
0107デフォルトの名無しさん2014/06/25(水) 09:55:43.67 ID:Z9ZnqfJz
コード見たら何やってるか大凡分かるって素晴らしいよね
0108デフォルトの名無しさん2014/07/04(金) 23:14:50.75 ID:4r2s5G7/
>>89 Androidって組み込みなんだけど。
0109デフォルトの名無しさん2014/07/05(土) 07:54:31.48 ID:fKreMhzC
>>108
アプリは組み込むでは無い
0110デフォルトの名無しさん2014/07/05(土) 14:32:15.90 ID:pTDYhgjU
>>109 環境的には組み込みソフトと同じだよ。
Hello World が、1MB何て許せるわけが無い。
基本ライブラリは端末組み込みで持つだろうから、Androidが標準装備すればもう少し小さくなるだろうが、今度はOSがでかくなる。
0111デフォルトの名無しさん2014/07/05(土) 14:41:39.27 ID:t0Gvg/Rs
気持ちはわからなくもないけどねえ
16Gや32Gストレージなんて当たり前なところで、OSが多少増えてどうこうと言われてもさすがに
0112デフォルトの名無しさん2014/07/05(土) 15:43:21.74 ID:pTDYhgjU
>>111 全てのアプリが何倍かの大きさになったら困るだろ?一つの話じゃ無いんだよ。
間、そんな事には成らないだろうがどのくらい大きくなるか未知数、今判断には時期尚早。

基本的には論外な大きさは悪
0113デフォルトの名無しさん2014/07/05(土) 16:47:01.80 ID:oA33QTWa
Androidでいろいろ作ってて感じるのは
今や主メモリやストレージを埋めるのは映像や音声のデータだっていう現実
コードが占める割合はかなり少なくなってきてる
0114デフォルトの名無しさん2014/07/05(土) 17:15:09.73 ID:5LgT0AK3
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
0115デフォルトの名無しさん2014/07/05(土) 18:03:15.49 ID:cZxdkROZ
128GBしか無いからこんなのに無駄に容量使いたくない
0116デフォルトの名無しさん2014/07/05(土) 19:01:05.54 ID:9Der4WO0
Hello Worldから線形的に増えるわけじゃないけどね
0117デフォルトの名無しさん2014/07/05(土) 19:14:06.90 ID:oA33QTWa
>>114
各実行ファイルにgo用のランタイムがくっつくと考えると
356[MB] + 1822×(1065264[B] - 5532[B]) = 2.2[GB]じゃね?
実際はもうちょっと増えると思うが
0118デフォルトの名無しさん2014/07/05(土) 20:55:34.60 ID:5LgT0AK3
gccgo(v4.9) を使ってコンパイルしてみると 20KB 程度に納まった。
許容範囲?
0119デフォルトの名無しさん2014/07/05(土) 21:42:25.12 ID:tB+Rxz8c
100行にも満たないサンプル5個作っただけで1GB超えるとかバカかよ
0120デフォルトの名無しさん2014/07/05(土) 23:28:12.02 ID:rxWIrUjL
容量減らすためだけにポータビリティ捨てたくはないかな。

Rob PikeらはPlan 9の論文で動的リンクの問題点をあげつらってたから、
たぶん今後も静的リンクから変えない気がするし。
0121デフォルトの名無しさん2014/07/06(日) 00:34:38.00 ID:uI+Octwc
>>97 それってHTMLじゃないのか?
0122デフォルトの名無しさん2014/07/06(日) 08:10:08.75 ID:CKDdGv5O
やっぱそうなるのか
HTMLで描画の性能が出せるようになってきたから
ネイティブウィンドウに拘る必要は少なくなったのかな
0123デフォルトの名無しさん2014/07/08(火) 13:18:21.31 ID:7GlSfkMD
https://github.com/andlabs/ui
ここでも見とけよカス共
0124デフォルトの名無しさん2014/07/08(火) 13:19:55.85 ID:ISJLHJAp
宣伝うける
0125デフォルトの名無しさん2014/07/08(火) 13:58:51.40 ID:PfuPMxra
おお、すげー何これ素敵
0126デフォルトの名無しさん2014/07/09(水) 12:47:50.42 ID:CPsLRvzn
goが動かせるクラウドってGAEしかないよね
0127デフォルトの名無しさん2014/07/09(水) 13:53:57.91 ID:Fp2x5STj
GoがExperimentalでphpがPreviewってことはGo版の正規リリースはまだまだ先か
0128デフォルトの名無しさん2014/07/09(水) 14:56:08.07 ID:SDA1RKlK
goって存在価値あるのか? NaCl PNaCl で事足りるだろ。

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

そういやDartも有るな。 あれはJavascriptの置き換えを狙ってるから目的がはっきりしてる。
0129デフォルトの名無しさん2014/07/09(水) 15:06:03.08 ID:V9xUyLw3
>>128
まったく意味不明だぞ
GoはNaClやPNaClと競合するものじゃない
0130デフォルトの名無しさん2014/07/09(水) 15:17:14.55 ID:SDA1RKlK
>>129 何がしたいの? NaClでサーバアプリも作らせたいようだけど。
0131デフォルトの名無しさん2014/07/09(水) 22:41:26.96 ID:8SChLIyJ
ファイルサイズが大きい言ってるから、hello worldの実行形式をreadelfしたら使ってなさそうなシンボルがうじゃうじゃいたけど、まだいろいろ工事中なのかい?
0132デフォルトの名無しさん2014/07/16(水) 21:08:08.10 ID:YrYvz6dv
実行ファイルのサイズ見るだけで期待の新言語感が綺麗さっぱり消滅するよな
静的リンクだからで許されるサイズじゃねーだろ。

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

提言としては、今どきのプログラマ容量の感覚がおかしいので全員8ビット時代からやり直すべき
あるいは4Kとか64Kのメガデモでも作るとかな
0133デフォルトの名無しさん2014/07/16(水) 21:10:00.51 ID:ue0KWKB4
>>132
さっさと去れよ
0134デフォルトの名無しさん2014/07/16(水) 21:10:33.17 ID:YrYvz6dv
GoほどじゃないがRustもでかい。システムプログラミング言語としてやる気あるんかお前ら
C言語当分安泰だわ。
0135デフォルトの名無しさん2014/07/16(水) 21:26:57.08 ID:18iWZycG
>>132
node.jsにモジュール上げたときも外人もクレクレ厨ばっかりだったな

firefox は勝手にメモリ使いまくって
2GB以上になったとたん固まって落ちるし
0136デフォルトの名無しさん2014/07/16(水) 21:33:51.50 ID:YrYvz6dv
>>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って何だよ。いやマジに。
0137デフォルトの名無しさん2014/07/16(水) 21:36:44.42 ID:18iWZycG
exerb
0138デフォルトの名無しさん2014/07/17(木) 00:03:14.51 ID:BuVewHPc
まぁ静的リンクすらわかってない奴だということはわかった
0139デフォルトの名無しさん2014/07/17(木) 06:43:50.83 ID:DnYQQN3M
わかってないのおまいだわ、上面だけ読んでレスやめとけw
0140デフォルトの名無しさん2014/07/17(木) 07:10:02.53 ID:/y/RnBj0
>>136

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

組み込みでは使えないってことだね
0141デフォルトの名無しさん2014/07/17(木) 08:38:37.24 ID:Emdyn2Mx
わかってるわかってないの水掛けこそ、上っ面の駄レスだろ
おかしいところを具体的に突いてやれば、言い返せないしこのスレの質向上にもなる
0142デフォルトの名無しさん2014/07/17(木) 09:31:32.17 ID:S5pGSZlh
そうだそうだ
0143デフォルトの名無しさん2014/07/17(木) 10:45:11.17 ID:h5c0LSEc
容量制限のあるクラウドとかVPSじゃ使えねえよ
0144デフォルトの名無しさん2014/07/17(木) 12:27:33.98 ID:q6z1PJAH
>>140 大きいと言う事は全てにおいて時間がかかると言う事なんだぞ。 つまりあらゆる面で生産性が低くなる。
そんな言語誰が使う。

作ってる奴がヘタレだとか基本設計自体に問題が有るとかさんざん言われてる。
0145デフォルトの名無しさん2014/07/17(木) 12:35:36.25 ID:sNTaX6ES
0146デフォルトの名無しさん2014/07/17(木) 13:13:00.43 ID:Emdyn2Mx
誤爆?
0147デフォルトの名無しさん2014/07/17(木) 16:46:46.06 ID:MN+A29Er
Go は使う側にとって何かメリットをもたらすのか?

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

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

Go の公式REPLは有るんだっけ?
0148デフォルトの名無しさん2014/07/17(木) 18:42:53.14 ID:MN+A29Er
>>24 はい判りました。

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

こんなんでました。 今注目の言語
0149デフォルトの名無しさん2014/07/17(木) 19:44:48.46 ID:S5pGSZlh
Swiftですやん
0150デフォルトの名無しさん2014/07/17(木) 19:58:44.51 ID:O9NXfjPR
 ―┼‐         ノ     /   |  --ヒ_/     /   \ヽヽ    ー―''7
   `」   ┼,   二Z二   レ   /  /´レ' \ ―7 ̄}  |  ー-、   /
 (__  (|フ)   (__ノ  _ノ  ∨`  ノ  /  /     _ノ    \_

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

     i';i
    /__Y
     ||真||                   /⌒彡
  _ ||露||         /⌒\     /冫、 ) ・・・・・・。
  \ ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄\ `./⌒ i `  /ゝ    _,,..,,,,_
  ||\`~~´  (十万石)     \( >     ('\\  ./ ,' 3 `ヽーっ ・・・・・・。
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄\`つ    ⌒ _) l   ⊃ ⌒_つ
     .|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||                `'ー---‐
( 'A) ・・・。 〃∩ ∧_∧        <⌒/ヽ___
/(ヘ)ヘ    ⊂⌒(  ・ω・) ・・・。  <_/____/ zzzz・・・
         `ヽ_っ⌒/⌒c
0151デフォルトの名無しさん2014/07/17(木) 23:26:36.96 ID:OTputfOO
そのうちhello worldで1GBを超えるバイナリを生成する言語が登場する
0152デフォルトの名無しさん2014/07/18(金) 07:16:09.83 ID:NmG7h+bv
googleが一番やりそうなこと
0153デフォルトの名無しさん2014/07/18(金) 08:06:18.24 ID:KrkzFLu9
最近のGoogleは自分で自分の首を絞め始めてる様に見えるな。
会社として収集がつかなくなってしまった感じ。
0154デフォルトの名無しさん2014/07/18(金) 09:03:19.13 ID:JbZ7Qo5I
いや昔からこのノリだけど
小さなグループ毎に好き勝手やってる感じ
むしろ最近は昔よりまとめようとしてる
0155デフォルトの名無しさん2014/07/18(金) 12:50:52.86 ID:DOB4ifCF
NaCl PNaCl > 速いスピード
Dart > Javascript の置き換え

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

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

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

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

Go は美味しそうな匂いがし無い。 並列処理?他の言語より美味しいか?
0156デフォルトの名無しさん2014/07/18(金) 12:55:38.48 ID:hMlFBsak
匂いがしないなら使わなければいいんじゃない
0157デフォルトの名無しさん2014/07/18(金) 13:03:16.54 ID:xJrLNwHb
googleはトラフィックに無頓着なんだよな
自社でキャリア持たないからかな
0158デフォルトの名無しさん2014/07/18(金) 14:48:11.31 ID:g/ns370x
>>136 のC言語の経験がHello, world!留まりということはわかった。
0159デフォルトの名無しさん2014/07/18(金) 14:57:25.22 ID:cGkLMo0w
hello worldが大きくてもそれの数百倍の大きさのプログラムをコンパイルしたら
数百倍の大きさの実行ファイルが出来るわけでは無いだろ
0160デフォルトの名無しさん2014/07/18(金) 16:25:14.51 ID:QbsI88lJ
>>159
全然無い。>>136はHello, world!留まりの赤ちゃんが疳の虫でグズってるだけ
0161デフォルトの名無しさん2014/07/18(金) 22:10:34.84 ID:DOB4ifCF
>>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 }
}
0162デフォルトの名無しさん2014/07/18(金) 22:51:20.66 ID:hMlFBsak
流行らなかったら何百(何千?)とあるプログラミング言語の一つが静かに
消えていくだけ。しかし三項演算子が美味しい餌ってのはワケが判らんなw

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

type Any interface{}

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

もちろん、これは三項演算子モドキにもなっていないけど。
本物の三項演算子が必要なら src/cmd/gc/lex.c に追加する
なりしてもいいし
0163デフォルトの名無しさん2014/07/18(金) 22:51:30.47 ID:Mqs0/spS
3項演算子はレガシーコードだな
うんこが現れたと言うことはGoも注目されてるのか?
0164デフォルトの名無しさん2014/07/19(土) 05:03:22.62 ID:SmxhOcgK
goのほうが言語仕様的には美しくて無駄が少ないと思うけど

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

SwiftはなんかまだObjective-Cのラッパーて感じ。
引数のラベル付とか。selectorが使える所とか。
0165デフォルトの名無しさん2014/07/19(土) 08:42:00.07 ID:JJLiNM0Q
まさに>>163
ってことなんだろうな
0166デフォルトの名無しさん2014/07/19(土) 09:59:22.84 ID:yYW1nc9J
とりあえずフレームワークを1つ覚えとけばいいかな
0167デフォルトの名無しさん2014/07/19(土) 13:50:20.51 ID:1hzYIwWV
>>164
>例外
例外文法削ったのではなく、例外自体削ったんだろ。パフォーマンス出すためにな
例外機構が必要な言語もある。

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

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

なんつーか、SwiftよりGoのが良いって前提で話してるよな。
どっちも良い所あるんだから、優劣付けずに話せばいいのに。
0168デフォルトの名無しさん2014/07/19(土) 14:16:07.12 ID:iWE1dx4J
>>161 の発言があっての話だからだろ
0169デフォルトの名無しさん2014/07/19(土) 14:19:18.94 ID:9ljzGYTI
>>164 例外を削除も、複数戻り値もSwiftは採用してるよ。

言語毎に色んな特徴は有るだろうけど、使用者にどんなメリットが有るかが一番大事だろうな。
どんなターゲットを対象にしているかとか。
0170デフォルトの名無しさん2014/07/19(土) 15:05:11.74 ID:SGq+lI7M
>>167,169
後の話はSwiftのスレでお願いしますね
0171デフォルトの名無しさん2014/07/19(土) 15:06:03.17 ID:9uryi8HE
>>169
そうそう、だから自分がいいと思う言語を使えばいいだけ、なのに、すごい低レベルなところで煽るやつは何を考えているのかと思う、が、いちいち相手にするレベルに至っていないのでスルーしとく
0172デフォルトの名無しさん2014/07/20(日) 23:08:04.42 ID:v/W32sJs
<-演算子を何て呼んでますか?
0173デフォルトの名無しさん2014/07/20(日) 23:21:11.04 ID:tRUHKzxS
アロー演算子
->
<-
0174デフォルトの名無しさん2014/07/20(日) 23:43:36.57 ID:v/W32sJs
>>173
そうなんだ
どうもありがとう
0175デフォルトの名無しさん2014/07/20(日) 23:45:46.75 ID:XMGxVSEA
一瞬「アフロ演算子」に見えたw
0176デフォルトの名無しさん2014/07/21(月) 16:07:42.61 ID:oivZnao6
Cだとアロー演算子って呼んでたけど
Goはチャネルオペレータって呼んでるな。
0177デフォルトの名無しさん2014/07/21(月) 17:41:17.08 ID:mYM6Tgvw
らむだ
0178デフォルトの名無しさん2014/07/21(月) 21:39:44.74 ID:PMvpzcGA
iotaの読みはイオタでいいの?
iotaって何から来てるの?
0179デフォルトの名無しさん2014/07/21(月) 21:54:45.83 ID:Syim72mM
>>178
ググれば出るだろボケナス
0180デフォルトの名無しさん2014/07/21(月) 22:02:32.32 ID:DpfIQ25M
井岡
0181デフォルトの名無しさん2014/07/21(月) 22:30:59.47 ID:F1AofNqF
APLのindex generatorのιだろ。
ぐぐらびりてぃの悪さでは定評がある知識だと思うが。
0182デフォルトの名無しさん2014/07/21(月) 22:34:55.66 ID:DpfIQ25M
iota の先頭文字は i で母音だから
不定冠詞を付けるときは
a じゃなくて an を付ける必要がある
つまり an iota としなければならない
0183デフォルトの名無しさん2014/07/21(月) 22:37:14.11 ID:B0QvoS4Q
アニオタ
0184デフォルトの名無しさん2014/07/22(火) 00:52:49.93 ID:Tqhjijck
>>181
APLのindex generatorよくわからんが、そんなところから来ていたのか〜
atoi, itoa系だとばかり思ってたわw
ありがとね
0185デフォルトの名無しさん2014/07/22(火) 01:56:11.63 ID:gLVnM0Vt
ギリシャ文字の読み方も知らんて厨房か
0186デフォルトの名無しさん2014/07/22(火) 09:46:04.54 ID:CpNP7/Sp
20行程度で2MB行くとかクソだな
200行で2GB使うのか?
ばかだろw
これじゃVPSでもクラウドでもすぐ容量いっぱいで使い物にならねえよ
0187デフォルトの名無しさん2014/07/22(火) 09:48:02.67 ID:A8dKNJDs
教えてくれ
どこから突っ込めばいい
0188デフォルトの名無しさん2014/07/22(火) 09:51:44.86 ID:gLVnM0Vt
printfもでかいけどprintfを100回呼んでも100倍のサイズにはならない
判り易く喩えるとこういうことです
0189デフォルトの名無しさん2014/07/22(火) 09:54:05.00 ID:A8dKNJDs
釣りじゃなければさんすうのお勉強が先かなと……
0190デフォルトの名無しさん2014/07/22(火) 10:22:55.44 ID:brrWCVo/
>>189 俺に算数教えてくれ。 1万行のサイズはいくつだ?
0191デフォルトの名無しさん2014/07/22(火) 10:27:27.42 ID:yyU5/kBu
1500行のプログラムで3MBくらいだな
1万行で何書くのか知らんけど、似たような呼び出しだと仮定すると
3MBくらいか
0192デフォルトの名無しさん2014/07/22(火) 10:39:49.89 ID:V18l0e57
vimでgo書く記事がどれもふるいのばっかりでダメだな
0193デフォルトの名無しさん2014/07/22(火) 11:41:55.36 ID:brrWCVo/
>>191 算数大丈夫か?
0194デフォルトの名無しさん2014/07/22(火) 17:18:55.96 ID:cFa+HftP
>>19 なあんだ、文化祭の出し物か。
そう言えば、Noop なんてだし物もあったな。
0195デフォルトの名無しさん2014/07/22(火) 20:32:55.34 ID:r3GUCDVw
自分で書いたコード400行、標準ライブラリ10個、外部ライブラリ4個で4MBぐらいだったわ
0196デフォルトの名無しさん2014/07/23(水) 10:54:58.68 ID:7MX9nHNJ
goをvimで書いてるけどやっぱgocodeが導入は楽だな
0197デフォルトの名無しさん2014/07/23(水) 11:46:22.33 ID:vbN86xg+
goぐらいはmattnさんの使ってあげなよ
0198デフォルトの名無しさん2014/07/23(水) 11:53:15.04 ID:7MX9nHNJ
0199デフォルトの名無しさん2014/07/23(水) 11:55:04.11 ID:7MX9nHNJ
:Importと:GoImportは勘違いでした
0200デフォルトの名無しさん2014/07/23(水) 12:38:54.74 ID:WJZjj5QG
golang.jpみたいに一人でも全部翻訳はできてるのに
golang-jp.org全然翻訳進まんな
名前ばかりの幽霊部員しかいないのか
0201デフォルトの名無しさん2014/07/23(水) 21:59:22.64 ID:WjYeQVNK
と思ってる奴が参加するのが良い
0202デフォルトの名無しさん2014/07/23(水) 22:03:23.63 ID:VI4LJie1
ろくに翻訳活動もしてないのに肩書きとして「golang-ja.orgで翻訳活動をしております」って名乗るのはいかがなものかな
0203デフォルトの名無しさん2014/07/23(水) 23:42:01.46 ID:VI4LJie1
goは簡単なバッチ処理をするようなプログラムを作るのには向いてないね
ビルド後のファイルサイズが気になる
0204デフォルトの名無しさん2014/07/24(木) 00:30:01.41 ID:znT0d1Bl
たしかに気にはなるけど
採用されない理由がそれだけのプロジェクトも想像できない
0205デフォルトの名無しさん2014/07/24(木) 11:10:30.02 ID:Ye3LEDYl
>>203
むしろバッチ処理得意じゃないかと思うんだが。
APIを何万回も叩いて結果をDBに格納するみたいなバッチ処理を書いた時に
チャネルを使うと素晴らしく綺麗に並列化できて感動したんだよね。
0206デフォルトの名無しさん2014/07/24(木) 11:45:59.80 ID:lbRXz+ac
>>205
>>203が言ってるのはバッチ処理というより単機能の小さいコマンドみたいなもののことでしょ。
自分らが~/binにたくさんおいてあるbashスクリプトレベルの。

そもそもこのコンパイラは常駐アプリケーションを作るための設計すぎて、実行時間がある程度長くないと無駄なのは事実。
とは言えいい言語だからそういうシンプルな機能を作るためにも使いたい。
使い終わったらプロセスごと落としてくれればいいからGCとかいらないし。
0207デフォルトの名無しさん2014/07/24(木) 12:12:06.82 ID:Qa9ovyB3
bsd って何の略ですか
0208デフォルトの名無しさん2014/07/24(木) 12:22:50.32 ID:wjmCoo/j
BuShiDou
0209デフォルトの名無しさん2014/07/24(木) 16:17:04.74 ID:GSXF8hON
golang.jp を見て見たが、ちょっと最初の構想から外れてるみたいな気がする。
インタプリタみたいな軽量な言語を目指したと言うが、REPLすらないってどう言う事?
サードパーティの物をちらっと見た覚えは有るが、最近目立たないな。

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

ジェネリックもいずれ入れると言ってるがもう何年も経つのに入らないってどう言うこと? 設計上無理が有るのでは?
今は色んな面で言語的にはかなり低級に思える。
0210デフォルトの名無しさん2014/07/24(木) 16:21:26.89 ID:hD2YGPYI
golangってインタプリタとして使えなかった?
0211デフォルトの名無しさん2014/07/24(木) 16:22:41.66 ID:r6QGED5m
go run helloworld.go
0212デフォルトの名無しさん2014/07/24(木) 16:23:12.99 ID:r6QGED5m
buildさえしなければhddを圧迫することはないだろう
0213デフォルトの名無しさん2014/07/24(木) 16:35:20.39 ID:GSXF8hON
>>211 それは単なるコンパイル& Go
0214デフォルトの名無しさん2014/07/24(木) 16:39:29.49 ID:r6QGED5m
え?インタプリタはコンパイルしないと思ってるの?phpもrubyもpythonもコンパイルするんだよ?
0215デフォルトの名無しさん2014/07/24(木) 16:44:21.40 ID:GSXF8hON
>>214 広い意味でのインタプリタはそうだけど、そんな事言ったらJavaですらインタプリタと言い出すだろ。

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

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


例えば、100行位のプログラムを書き始めたとして、>>212はいつ実行出来るんだ?
アホなこと言うな。
0217デフォルトの名無しさん2014/07/24(木) 16:47:30.54 ID:GSXF8hON
>>211の間違い
0218デフォルトの名無しさん2014/07/24(木) 17:50:00.05 ID:9dmhGPAk
定義的にインタプリタであるかどうかにこだわる意味がわからん。
コンパイルが十分に速くてエディタの支援があれば事実上同じ。
0219デフォルトの名無しさん2014/07/24(木) 17:59:05.81 ID:GSXF8hON
>>218 解らんかな? 例えばインタプリタなら
>>218 と会話的にプログラム出来る。

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

例えば今日台湾の航空機墜落事故のニュースを知ってから、それに関連したプログラムをするのと、
全く知らずに何年も前から予測してプログラムするのでどれだけ大きな差が有るのか解らんかな?
0220デフォルトの名無しさん2014/07/24(木) 18:05:42.50 ID:GSXF8hON
>>218 ま、いいや、golangで1行ずつコンパイルして結果が見えるのならそれで良い。

#今いるディレクトリは?
--gogo
#ls
--
#cd xxx
0221デフォルトの名無しさん2014/07/24(木) 18:10:26.83 ID:znT0d1Bl
ニュースの例えは効果的ではなかったな
0222デフォルトの名無しさん2014/07/24(木) 18:13:08.35 ID:KnMb6PXS
もう少し分かり易く説明して欲しい
0223デフォルトの名無しさん2014/07/24(木) 18:17:36.20 ID:FJ9KFXdp
そもそもgoはc++の置き換えを狙ったガッツリコンパイル言語目指してたと思うが
インタプリタの話はどっから出てきたのだろうか。
0224デフォルトの名無しさん2014/07/24(木) 18:18:07.34 ID:hD2YGPYI
読込み -> 中間式生成 -> 実行 -> 結果表示
こういう流れなら中間式がなんであれインタプリタでよくないか
0225デフォルトの名無しさん2014/07/24(木) 19:31:52.41 ID:j9Fzrf/Q
対話式の環境が使いたいならscalaでも使えばいいんじゃねえの?
コンパイルくっそ遅いけど
0226デフォルトの名無しさん2014/07/24(木) 19:35:29.67 ID:eQap2LAf
ClojureとかGroovyとかもJVM系の言語はコンパイルしてから実行するのに凄い時間がかかるな
REPL的な環境使うと捗る
0227デフォルトの名無しさん2014/07/24(木) 21:13:03.11 ID:3xYKvkhO
>>223
http://golang.jp/go_faq
新しく言語を作った理由は?

Go言語は、インタプリタ言語のプログラミングの容易さと、動的型言語の効率、コンパイル言語の静的な型の安全性を併せ持つことを目指しました。
0228デフォルトの名無しさん2014/07/24(木) 22:11:05.80 ID:3xYKvkhO
>>224 Javaは含めたく無いな。 インタプリタは、基本的にソースコードをそのまま配布する物。
配布されたソースを変更すれば即座に実行出来る物。
0229デフォルトの名無しさん2014/07/24(木) 22:34:04.45 ID:xmULRajC
>>219
REPLが備わってる言語だと
1行ずつ試しながらプログラムを書けるのが良いっていう主張なんかな
コンパイル方式だと、ある程度まとまった量を書くまで
プログラムの挙動の確認ができないからダメだと

ちょっと興味あるから良かったらもう少し分かりやすく説明してほしいんだが
0230デフォルトの名無しさん2014/07/24(木) 23:08:29.15 ID:ZKlJlp/g
つまり軽い気持ちでインタプリタという言葉を使ってしまったら
インタプリタに思い入れの有りすぎる人が騒ぎだしたって話か。
0231デフォルトの名無しさん2014/07/24(木) 23:30:45.74 ID:3xYKvkhO
>>229
例えば、
system("ls")
でカレントディレクトリ内のファイルを見て、ファイルが有るのを確認してファイルを読み込むとか。
周りの環境が不確かでも確認しながらコーディングを進めて行くことが出来る。

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

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

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

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

そこに書いてあるインタプリタがうんたらかんたらはPythonの手軽さり入れてますよくらいの意味だ。
0233デフォルトの名無しさん2014/07/25(金) 00:07:36.47 ID:VLfrDabm
>>232 C++ ですら、CINTや、LLVM でのREPLが有るのに、なんでやらないんだろう?
言語と同等に重要だと思うけどな。

その前にジェネリックとかやることが山積みで残ってるからかもしれ無いが。
0234デフォルトの名無しさん2014/07/25(金) 00:20:30.83 ID:0UOGck6o
0235デフォルトの名無しさん2014/07/25(金) 00:29:07.50 ID:sWANe9H9
>>233
まあ確かに話題になってるようにpythonコンソールみたいに使えたらとても楽だ。
0236デフォルトの名無しさん2014/07/25(金) 00:49:56.70 ID:5ZIqGgab
>>231
>>229だけどありがとう
REPLはいろいろ試せて便利ということですね
コンパイル方式の言語でもREPLがあれば便利だという意見に納得
0237デフォルトの名無しさん2014/07/25(金) 00:55:19.24 ID:5ZIqGgab
>>231
>とは言っても、一般的にREPLが力を発揮するのはコーディング時に結果を確認しながら進めていけることだろうな。 バグの少ないプログラムが書ける。

これに関してはIDEでも出来るからREPLの利点になるかは微妙に思うけど
0238デフォルトの名無しさん2014/07/25(金) 01:24:46.41 ID:WAyDBvXq
そういう事出来るIDEってそんな多くないような
IDEの機能でREPLに近いのはイミディエイトウィンドウとSmalltalkくらいしか思い浮かばない
0239デフォルトの名無しさん2014/07/25(金) 02:11:12.44 ID:VBkcNL29
ipythonみたいに補完できるツールって無い?
0240デフォルトの名無しさん2014/07/25(金) 08:54:10.04 ID:VLfrDabm
>>238
SwiftのPlaygroundは、補間はおろかREPL機能やリアルタイム描画や変数の時間軸変化のグラフとか、時間軸を遡って確認したり出来る。
https://developer.apple.com/swift/
簡単なデモ動画
https://m.youtube.com/watch?v=vogFSIxprUo
描画結果も表示してる

今後こういったIDEが重要な要素となる。
0241デフォルトの名無しさん2014/07/25(金) 10:33:21.59 ID:v/73T7Pc
Swift使ってればいいんじゃない
0242デフォルトの名無しさん2014/07/25(金) 10:36:14.11 ID:cQJQccdW
本当に今欲しいもの
それはその機能ですか
0243デフォルトの名無しさん2014/07/26(土) 01:12:14.54 ID:gxb4YorG
func a() string {
return "aaa"
}
これをstringかintを返したい場合どういうふうにfunc a() stringの部分を書きなおせばいいのか教えてください
0244デフォルトの名無しさん2014/07/26(土) 01:38:36.60 ID:WPKMsRoX
func a() interface{} {
...
}
0245デフォルトの名無しさん2014/07/27(日) 04:43:42.19 ID:KUNHptBx
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には大きな差をつけられてる。
0246デフォルトの名無しさん2014/07/27(日) 08:52:04.39 ID:CwX5MDAY
LLVM Clangは、徹底的にループを排除するからな
元のコードがどんなだか知らんけど
他がやってるループをClangは回してない場合がある
0247デフォルトの名無しさん2014/07/27(日) 09:13:55.62 ID:KUNHptBx
>>246 中にソースが書いて有るよ。
1GBのランダムなデータを3種類の読み方で読んで、00のバイト数をカウントすると言う物。
ループを省略するなんてことは出来なさそう。
0248デフォルトの名無しさん2014/07/27(日) 09:46:07.39 ID:PFdtsvV+
元のコードのここの部分が
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++;
}
0249デフォルトの名無しさん2014/07/27(日) 11:02:43.76 ID:KUNHptBx
コンパイラの最も重要な最適化がループだからね。
0250デフォルトの名無しさん2014/07/27(日) 11:07:33.89 ID:A8GFVBne
変数って型をしてしたほうがいい?
:=にたよったほうがいい?
0251デフォルトの名無しさん2014/07/29(火) 21:53:04.26 ID:yYRcHyEO
・【翻訳】Go言語がダメな理由 | POSTD
http://postd.cc/why-go-is-not-good/
 Goは何も新しいことをしない。
 Goは全てにおいてうまく設計されているとは言えない。
 Goは他のプログラミング言語から退化したものである。
0252デフォルトの名無しさん2014/07/29(火) 21:59:11.76 ID:yYRcHyEO
0253デフォルトの名無しさん2014/07/29(火) 23:32:56.57 ID:UKoB3UWi
早くジェネリックは欲しいね。
0254デフォルトの名無しさん2014/07/30(水) 07:50:42.52 ID:/fpjt/6K
>>251 >>252
でもRustやDは全然普及していないという決定的に致命的な欠点があるよな
0255デフォルトの名無しさん2014/07/30(水) 09:20:20.31 ID:Nn5HlRg1
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でも使ってる。
0256デフォルトの名無しさん2014/07/30(水) 09:54:57.06 ID:5ewzjOeq
>>255
http://ja.m.wikipedia.org/wiki/DTrace#cite_ref-2
DTraceで使われてるDはまた別のものっぽいよ
0257デフォルトの名無しさん2014/07/30(水) 09:58:39.78 ID:oJuXMjZX
D言語のドキュメントは読みにくいから挫折してGo北野に俺が勉強したくなるような余計ななことかくな!
0258デフォルトの名無しさん2014/07/30(水) 11:40:53.67 ID:hbolUbaM
分かりやすい綺麗なコードが書ければプログラム言語なんて何でも良い
ただ、同じ事やるのに色々な表現方法が存在して構文を複雑にしたり
波括弧の位置だの鬱陶しい問題が存在しない方が良い

表現の違いで吐き出したバイナリコードに差が出る言語は
一々最速かつ最良の方法を模索するハメになるので煩わしい
0259デフォルトの名無しさん2014/07/30(水) 11:43:17.31 ID:1Qh8jOHK
Go北野でツボった
AV男優か何か?
0260デフォルトの名無しさん2014/07/30(水) 12:44:24.74 ID:Nn5HlRg1
>>259 もしかしてマジに聞いてる? Go(に)来たの
0261デフォルトの名無しさん2014/07/30(水) 15:03:28.86 ID:x/403miQ
>>258
あなたはpythonで幸せになるべき
0262デフォルトの名無しさん2014/07/30(水) 17:26:23.03 ID:MCWrKUub
>>258
そういう模索が必要になるレイヤーがあるんだよ
0263デフォルトの名無しさん2014/07/30(水) 18:58:50.92 ID:oDHaBQlk
英語読めないからあれだけど
WindowsだとOSのDLL読めるけど
ユーザーが作ったDLLは使えないんだって?
ならGoでグラフィックをやりたければOpenGLよりDirectXのが楽ということか

WinのOpenglは外部DLLないと古臭いから
0264デフォルトの名無しさん2014/07/30(水) 21:19:57.41 ID:/fpjt/6K
>>255
Facebookってオープンソースに力入れてたっけ?単に自社の便宜のためにDの開発者を取り込んだだけ、ということではなくて?
0265デフォルトの名無しさん2014/07/30(水) 21:50:47.94 ID:SFUuJg+H
facebookはPHP処理系の独自実装とかをオープンに公開してるな
0266デフォルトの名無しさん2014/07/30(水) 22:09:01.57 ID:oZh+12aq
>>260
お前のアスペぶり、最近GoとOcamlの勉強始めた激オポ野郎に似てて笑える。
0267デフォルトの名無しさん2014/07/30(水) 22:51:02.01 ID:Ozr11eeP
あそこはサーバもオープンソースでやってたじゃないか
0268デフォルトの名無しさん2014/08/04(月) 14:37:29.28 ID:HA1hOxHF
func hoge(x, y int) (x, y int) {
return
}
これはダメで

func hoge(x, y int) (int, int){
return x, y
}
これがいい理由がわからない
0269デフォルトの名無しさん2014/08/04(月) 14:39:53.99 ID:0z4VWwTk
スコープの中で一度も出てこないからだろ
0270デフォルトの名無しさん2014/08/04(月) 14:44:57.93 ID:HA1hOxHF
func hoge(x, y int) (x, y int) {
x++
y++
return
}

これでもダメ
0271デフォルトの名無しさん2014/08/04(月) 14:59:51.43 ID:NkDV0lbD
> func hoge(x, y int) (x, y int) {
> ...
> }

これ、

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

ってなる(Go 1.3)
0272デフォルトの名無しさん2014/08/04(月) 15:04:04.54 ID:OYo/E/zd
馬鹿かこいつ
0273デフォルトの名無しさん2014/08/04(月) 15:20:41.03 ID:CLz4tu7V
>>268
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;
まんま答えがありました
0274デフォルトの名無しさん2014/08/04(月) 15:25:59.54 ID:HA1hOxHF
>>273
戻り値が初期化されるからダメってことなんですね
Named resultは便利なようで冗長的になる可能性もあるってわけですね
メモリも食いそうですね
ありがとうございました
0275名無しさん@お腹いっぱい。2014/08/04(月) 15:41:33.25 ID:ZHHZozY0
0276デフォルトの名無しさん2014/08/04(月) 15:48:57.70 ID:hivp8MqX
>>274
詳しい人の意見を少し待ったほうがいいんじゃないの?
ダメな理由は素人でも特定できたけど
なんらかのやり方があるかもしれないよ?
0277デフォルトの名無しさん2014/08/05(火) 17:28:58.12 ID:VDc80Yjj
見やすさのために変数を初期化すべきかどうかって問題だろ
goの仕様関係ないやん
0278デフォルトの名無しさん2014/08/05(火) 17:39:44.90 ID:DgDBu3xR
go は全く知らないんだけど、皆の話を聞いてたら、入力の変数名x,yと出力の変数名x,yは別物みたいだね。
つまり同じ名前をつけるバカとは付き合えんと言われてるの?

inout属性をつけられると良いんだけどね。
02792762014/08/05(火) 17:59:47.02 ID:dd7FVYvi
>>277
いえ、違います。
てか仕様そのものじゃないか。

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

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)
などで引数で初期化とか出来るようになるんじゃないかな
というか既にあるんじゃないのかな
0280デフォルトの名無しさん2014/08/05(火) 18:07:02.09 ID:DgDBu3xR
>>279 変数名in x,y で、out x,yにしたかったんだろ。
でも言語仕様上 in x,y とout x,yのx,yを同じ変数に割り当てられないからエラーになるんだろ。
つまりinと、outは別の変数を使えとしかられてるんじゃ無いの?

言語によってはinout属性を付けると、入力変数に値をセット出来て出力とすることが出来る。
0281デフォルトの名無しさん2014/08/05(火) 18:10:48.15 ID:DgDBu3xR
>>280 簡単に言うと、
func( 1, 2 ) と渡された時に

勝手に 1, 2 を上書きすんなよとしかられてるんだろ?
0282片山博文MZ次期CEO ◆T6xkBnTXz7B0 2014/08/05(火) 18:25:28.35 ID:AfbB56Nf
Goは、重要な言語ではない。
0283デフォルトの名無しさん2014/08/05(火) 18:45:40.65 ID:dd7FVYvi
>>280
>>281
面倒だから何でもいいよ。
0284デフォルトの名無しさん2014/08/05(火) 21:25:46.03 ID:3MsCZ4lI
goでguiが作れない
guiライブラリのコミュニティーがない
あっても個人が作ったライブラリがあるだけ
goでguiに未来はない
0285デフォルトの名無しさん2014/08/05(火) 22:21:36.63 ID:VDc80Yjj
まずはジェネリクスを所望する
0286デフォルトの名無しさん2014/08/05(火) 22:47:32.36 ID:AfbB56Nf
Go死亡。

はい、時間の無駄でした、残念。
0287デフォルトの名無しさん2014/08/05(火) 22:51:32.76 ID:AfbB56Nf
Goはオワコン
0288デフォルトの名無しさん2014/08/05(火) 22:56:03.53 ID:q3/M2RFT
もうGoogleは、Android にも言語にも飽きたんだよ。オタクの趣味としてちんたら遊ばせておくつもりだろ。

はた迷惑だよな。
ロボット企業を買いあさってる。日本のSCHAFTも買収された。
0289デフォルトの名無しさん2014/08/05(火) 23:31:09.30 ID:AfbB56Nf
ニュース速報。Goが死亡したことについてGoogleは謝罪会見を行わ
ないとのことです。Goのユーザーからは怒りの声が上がっています。
以上、中継でした。
0290デフォルトの名無しさん2014/08/06(水) 00:15:13.55 ID:q1msYZkC
叩きたくて叩きたくてしょうがない奴が2chというゴキブリホイホイにあつまってくる
お陰でネットが平和にはなるけど
0291デフォルトの名無しさん2014/08/06(水) 00:15:15.26 ID:cxEAgXtb
Goは、システムプログラミング寄りのことをしない人には関係ないし、GAE使わない人にも関係ない。
WebAPIに使おうという人は増えてはいるけどね。
0292デフォルトの名無しさん2014/08/06(水) 01:31:04.59 ID:jlHxWIwY
まだ実験的に使ってる位だろ。 本格的に使えるレベルじゃ無いだろ。
WebAPIだと下手するとJAVAにすら負けるんじゃ無いのか?
0293デフォルトの名無しさん2014/08/06(水) 02:01:51.39 ID:u9FzL7dM
https://code.google.com/p/go-wiki/wiki/GoUsers
とりあえずGoを使ってる組織一覧あげとく
0294デフォルトの名無しさん2014/08/06(水) 02:59:23.20 ID:QpPIHC8m
>>293
GitHubとかHerokuとかマジ?
0295デフォルトの名無しさん2014/08/06(水) 08:27:30.42 ID:Tye/sJpW
おまえらDocker関連の盛り上がりを知らんのか?
あれGoで書かれてるんだぞ
0296デフォルトの名無しさん2014/08/06(水) 08:38:43.95 ID:OufmJGiK
この前買ったAsusのM/Bに付いてるユーティリティのセットアップ部分がGo+Walk?で書かれてた
Dos窓の消し方知らん状態で、よく配布出来たなと思うけど
0297デフォルトの名無しさん2014/08/06(水) 09:24:52.37 ID:cxEAgXtb
dockerに限らず、CoreOSやOSvの運用ツールもgoだったりする。
https://github.com/coreos/fleet/blob/master/README.md
https://github.com/cloudius-systems/capstan/blob/master/README.md
0298デフォルトの名無しさん2014/08/06(水) 09:30:56.39 ID:cxEAgXtb
cloudflareがオープンソースしてるCDNまわりの運用ツールやperconaのMySQLまわりの運用ツールもそうだったか。
まあ、google社内の運用ツール作成者が、cやpythonの代わりにgo使ってるようだが。
0299デフォルトの名無しさん2014/08/06(水) 10:06:37.78 ID:Ew8yVxs4
1.3からNaClもサポートされたよね。
実際使えるようになるのは1.4からだろうけどWebClient側もGoで書くようになるか。
問題はchromeでしか動かないってことだけど
0300デフォルトの名無しさん2014/08/06(水) 10:49:43.03 ID:1n+ZEBWM
NaClはサンドボックス用の実装
1.4はarm NaCl
内容分からず書き込むなよボケナス
Web Client向けじゃねーよクソカス
0301デフォルトの名無しさん2014/08/06(水) 13:24:50.02 ID:zhx39L6I
>>300
どっちかいうとPPAPIを1.3でサポートしてないから、サポートする1.4から本格的に使えるって意味ね。

ビジネスロジックをクライアント側で実装するとなるとjsでは丸見えになるから
NaClでクライアントの一部でも実装できるというのはありな気がするんだけど。
ブラウザをchrome固定にしても構わない社内システムとかね。
0302デフォルトの名無しさん2014/08/06(水) 13:40:49.32 ID:1n+ZEBWM
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でサポートされるというソースを出したら全力で謝ろう
0303デフォルトの名無しさん2014/08/06(水) 15:57:32.29 ID:/I6P1gIg
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
^^^^^^^^^^
0304デフォルトの名無しさん2014/08/07(木) 21:30:44.75 ID:5P5b4hRW
Clive
0305デフォルトの名無しさん2014/08/09(土) 22:08:08.27 ID:bNAhKStf
HSPにすら負けるマイナー言語
0306デフォルトの名無しさん2014/08/09(土) 23:25:50.71 ID:atPSQbTe
0307デフォルトの名無しさん2014/08/10(日) 02:03:30.22 ID:z9JQKyZD
ゲームを付けずぬ検索すると更に悲惨なことになるのか
0308デフォルトの名無しさん2014/08/10(日) 07:28:42.80 ID:717mLNhK
いや、悲惨なのはどう見ても右肩下がりなHSPだろ
ゲームを付けないと、クロアチア権利党の略語としてヒットするからだめ
ゲーム以外の追加キーワードは、軒並み更に検索件数が少な過ぎる
0309デフォルトの名無しさん2014/08/10(日) 09:10:02.35 ID:owNP0mOn
いやって何がいやなんだ?
「更に」と書いてるんだからどちらにせよHSPが悲惨だと言ってるに決まってるだろ
0310デフォルトの名無しさん2014/08/10(日) 09:10:27.53 ID:frgBbTF3
いやいや
0311デフォルトの名無しさん2014/08/10(日) 09:42:27.18 ID:owNP0mOn
そう言うが本当は好きなんだろ?こういうのがよオラッ!
0312デフォルトの名無しさん2014/08/10(日) 17:55:11.34 ID:owxd9++q
学習コストが高い言語じゃないから
マイナーでも損した気持ちにあんまならない
0313デフォルトの名無しさん2014/08/10(日) 18:16:52.00 ID:owxd9++q
ただ匿名フィールドやメソッドでしっくりこない部分がいくつか

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

type bar struct {
foo
}

これらのメソッドを

bar.foobar(bar)
で呼び出せたり
var nilptr *foo; foo.pfoobar() // 空なのに…
で呼び出せたりするのがなんか気持ち悪い
0314デフォルトの名無しさん2014/08/10(日) 18:36:30.54 ID:8jOhhL8e
>>313 バグじゃ無いの? 確かに気持ち悪いし理解できない。
何で
barやfooのメソッドになるんだ?

お手伝いさん雇ったらいつの間にか家ごと乗っ取られてたと言う感じ。
0315デフォルトの名無しさん2014/08/10(日) 18:53:42.45 ID:owxd9++q
>>314
ひとつめはメソッド式っていう型から直接メソッドを取り出せるリファレンスに載ってる仕様
ふたつめはfoo.pfoobar()→nilptr.pfoobar()の間違いだすまん
0316デフォルトの名無しさん2014/08/10(日) 19:17:22.63 ID:owxd9++q
>>313
一つ目の引数に型入れてしまってる
コードそのまま張る
スレ汚し申し訳ない

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()
}
0317デフォルトの名無しさん2014/08/10(日) 19:18:14.11 ID:8jOhhL8e
fooのメソッドをクロージャの外に書くことも出来るようにしたと言うことなのかな?
lazy 的な使い方だからそう考えると理解出来る
0318デフォルトの名無しさん2014/08/10(日) 19:32:56.63 ID:fQipPNK5
>>316
そんなに変かな…? 「var nilptr *foo」を「空なのに…」って
言う方がヘンに思えるが…
0319デフォルトの名無しさん2014/08/10(日) 19:42:15.04 ID:owxd9++q
>>318
確かに空という表現は適切じゃないな
すまん
0320デフォルトの名無しさん2014/08/29(金) 15:46:46.57 ID:pefvZeNv
Goを書く上でおすすめのEditorって何?
atom使おうとしたら2MBのファイル制限があってtagsファイルが読み込めなくてがっかりした。

型を解釈してメソッドやメンバ変数がうまく補完されるEditorがほしいです。
0321デフォルトの名無しさん2014/08/29(金) 16:06:57.25 ID:pefvZeNv
//(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)と同様返って来たタプルの数に合わせないとエラーになるようにして欲しくない?
この仕様って何か理由あるの?
0322デフォルトの名無しさん2014/08/29(金) 17:48:22.16 ID:JF5lqIUA
Go は何故ジェネリックが出来ないんだろう、ずっとやるやると言ってて出来ないのは何か理由が有るんだろ?

ジェネリックが有るなしでは雲泥の差が有るからな
0323デフォルトの名無しさん2014/08/29(金) 22:14:19.57 ID:W5ciN1UU
0324デフォルトの名無しさん2014/08/31(日) 02:21:27.34 ID:Z3wJLt4Y
C++テンプレートみたいになるん?
0325デフォルトの名無しさん2014/09/01(月) 09:42:08.95 ID:Aoi0Spsz
>> Wikipedia を見ると
>型の継承、ジェネリックプログラミング、アサーション、オーバーロードといった機能が存在しないことも特徴である。

っと書いてるけど特徴と言うよりも欠点だろ。 型の継承が出来ないと言う事は型の拡張/Extentionも出来ないんだろうな
0326デフォルトの名無しさん2014/09/01(月) 10:50:39.51 ID:u5EBjTij
まあぶっちゃけLL風Cだし
0327デフォルトの名無しさん2014/09/01(月) 11:40:12.76 ID:UAvbH3xI
単純は良いことでしょ
0328デフォルトの名無しさん2014/09/01(月) 15:58:36.52 ID:SaUWCY70
インタフェースで良いじゃん
既に継承はレガシー化しつつある
Cジジィと言ってた世代がもうすぐ自分がジジィ呼ばわりされるのさ
0329デフォルトの名無しさん2014/09/03(水) 22:51:40.57 ID:OjPHMTTg
すみません、質問させてください。

Go言語で動的に読み込めるようなライブラリを作りたく思っています。
どのようにすれば、ライブラリ単体のコンパイルができるでしょうか?
また、作ったライブラリをどのようにすれば動的にロードする事ができるでしょうか?
よろしくお願いします。
0330デフォルトの名無しさん2014/09/08(月) 19:26:19.55 ID:GB5qWry9
無理
0331デフォルトの名無しさん2014/09/08(月) 19:47:42.94 ID:48pG8dL/
>>330
そうっぽいですね、質問後もいろいろ調べてたのですが、
Cとかで作ったライブラリは呼べるようですがGoだけでは無理っぽい・・・
ぜひライブラリも作れるようになってほしいですね
ありがとうございました
0332デフォルトの名無しさん2014/09/08(月) 20:09:34.31 ID:GB5qWry9
https://code.google.com/p/go/issues/list
ここのどっかで見た気がする
0333デフォルトの名無しさん2014/09/14(日) 17:09:00.11 ID:9EZHO0f/
>>320
gocodeが動くEditorを使えばいいってわかりました。
gosublimeが一番よさげっすね
0334デフォルトの名無しさん2014/09/14(日) 21:40:57.88 ID:LDtvEMMg
>>333
これってMingW
0335デフォルトの名無しさん2014/09/18(木) 23:55:04.40 ID:qJLAnAay
postfix並のメールサーバー作りたい
何か参考になるものちょうだい
0336デフォルトの名無しさん2014/09/19(金) 01:24:43.33 ID:4bqgQEeC
0337デフォルトの名無しさん2014/09/29(月) 03:20:22.82 ID:miLMxBVJ
golintが動かない
0338デフォルトの名無しさん2014/09/29(月) 07:50:19.22 ID:NI0xARzz
御臨終です
0339デフォルトの名無しさん2014/09/29(月) 12:08:15.08 ID:EIANdszU
golintが動かないと勘違いしていた
golintはgo testをカバーしてなかっただけ
golintとgo test両方実行しないと意味ねえな
0340デフォルトの名無しさん2014/10/05(日) 20:59:06.62 ID:zjAXSCyt
Append(sliceA, sliceB[x:xx]...)で参照先の配列を領域確保1発でコピー出来るなら
MakeでCap指定した方が良いCopyの使いどころって無いよね?
0341デフォルトの名無しさん2014/10/12(日) 13:22:57.12 ID:e6aIROEn
vim-goとvim-go-extraどっちを使おうか迷った僕がvim-goを選んだ理由

・vim-goの開発が活発で将来性がある。vim-go-extraは進化しないと思った。
・利用者が多いから。
0342デフォルトの名無しさん2014/10/12(日) 14:01:02.40 ID:e6aIROEn
vim-go-extraはgolangに入ってたものを配布しているだけのようなものだからそれをいじっていくというスタイルではないと思った
0343デフォルトの名無しさん2014/11/02(日) 09:24:08.49 ID:r4spo6v1
Go 1.4で若干の言語仕様変更
http://news.mynavi.jp/news/2014/10/31/275/

ライブラリ作成と、そのライブラリの動的リンク機能マダー?
0344デフォルトの名無しさん2014/11/02(日) 10:09:47.13 ID:x5iq96Qv
変数無しRangeの使い道ってどんな時だろ
むしろforやifみたいに初期化文が置けるとスッキリするんだけど
0345デフォルトの名無しさん2014/11/02(日) 11:17:59.44 ID:r4spo6v1
1つ質問いいですか!
go言語ってコンパイルが早くて気に入ってるんだけど、
けど、なぜか突然コンパイルやテストが異常に遅くなったりする・・・
これの原因ってなんですか??
0346デフォルトの名無しさん2014/11/02(日) 12:15:45.86 ID:CjBmvnJw
ガベコレ
0347デフォルトの名無しさん2014/11/02(日) 20:58:40.38 ID:JPqAP6M3
AndroidのJavaがGoに置き換えられる日はいつかな
0348デフォルトの名無しさん2014/11/02(日) 21:33:47.45 ID:BYDmQ72k
それより先にChromeOSに飲み込まれる予感
でGoはGAEによるwebアプリとして、という形で置き換わ…らないかな…
0349デフォルトの名無しさん2014/11/02(日) 22:09:45.10 ID:uP+hCO1v
Javaは難しすぎるし文字列の連結も"a" + "b"みたいに+で書くのはダメでなんちゃらビルダーを使えとかでJava知らないとわかんないことも覚えないといけないからきつい
AndroidアプリはGo出かけるようにするべきだ
そしてJavaを切り捨てろ
0350デフォルトの名無しさん2014/11/02(日) 23:29:08.56 ID:6If1MJm0
Go「ちょっと出かけてくる」
0351デフォルトの名無しさん2014/11/02(日) 23:40:50.47 ID:dkfupOzq
Javaを斬りに行くのか
0352デフォルトの名無しさん2014/11/06(木) 09:31:48.41 ID:Yj3faNE/
goimportを11/9までに変えろってツイートのタイムラインで流れてきたけどどうやって変えるの?
.bashrcとかでpathを設定しろってこと?そんな設定した覚え無いよ
0353デフォルトの名無しさん2014/11/06(木) 09:40:38.83 ID:aunNruia
書いてあるやんけ…

> 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')
0354デフォルトの名無しさん2014/11/06(木) 10:14:37.36 ID:Yj3faNE/
英語わかりません><
ソースコードって自分が書いたソースコードだけですか?
それともgo getでインストールしたのとか/usr/local/go以下のも全部ですか?
0355デフォルトの名無しさん2014/11/07(金) 02:16:51.54 ID:h+JOAERE
今後、ART+golang vs iOS+swiftの対決になる。
0356デフォルトの名無しさん2014/11/07(金) 10:31:39.22 ID:s6Ia4x9k
そうか、ARTはLLVMだから、高速化のみならず、ここからGoやPythonまで巻き込んでいく可能性もあるのか
0357デフォルトの名無しさん2014/11/07(金) 10:38:27.06 ID:xYnXm+N7
Clang+LLVMみたいにGolang+LLVMになるって事?
0358デフォルトの名無しさん2014/11/11(火) 12:41:50.08 ID:wdqJ9aU+
Happy birthday to you,
Happy birthday to you,
Happy birthday, dear golang〜♪
Happy birthday to you〜♪
0359デフォルトの名無しさん2014/11/11(火) 13:33:55.75 ID:7vWNWhS8
見上げて golang 夜の星を
小さな星の 小さな光が
ささやかな幸せを うたってる
0360デフォルトの名無しさん2014/11/16(日) 03:04:27.57 ID:DLuhiTiM
Google's Go To Move From Mercurial To GitHub
http://www.phoronix.com/scan.php?page=news_item&px=MTgzODc
0361デフォルトの名無しさん2014/11/16(日) 07:32:46.53 ID:01IXT5Y2
むしろGitHubじゃなかったんだ、意外
0362デフォルトの名無しさん2014/11/16(日) 08:29:57.40 ID:lR2mulvd
goto 禁止
0363デフォルトの名無しさん2014/11/16(日) 09:02:44.60 ID:DyeXwdqD
今、TCPクライアントを書いているんですが、
テストで、サーバー側でCloseされたnet.ConnにWriteしても、
1回目は何のエラーも返さないんですが、なぜだか分かる人いますか?
2回目でbroken pipeと言われます。
0364デフォルトの名無しさん2014/11/16(日) 09:32:08.90 ID:DyeXwdqD
0365デフォルトの名無しさん2014/11/16(日) 14:08:08.00 ID:zDSUi8Bd
うん知ってたよ
0366デフォルトの名無しさん2014/11/17(月) 17:21:35.06 ID:zuuyG41U
そろそろGoのイディオムに沿ったリファクタリング本が欲しい
今までの物でも通じなくはないけど違和感がある
0367デフォルトの名無しさん2014/11/17(月) 21:09:13.40 ID:brk9wiVx
本がないと駄目とか馬鹿も大概にしろ
0368デフォルトの名無しさん2014/11/17(月) 22:16:15.49 ID:ppTtjJs6
消えろ少数言語
0369デフォルトの名無しさん2014/11/17(月) 22:40:13.14 ID:VgYWB20P
少数言語の存在を目障りに感じる奴って、脳のどこが壊れるとそうなるんだろうねw
0370デフォルトの名無しさん2014/11/17(月) 22:43:04.06 ID:C7tq3SGo
むしろこれは伸びてくだろ
0371デフォルトの名無しさん2014/11/17(月) 22:52:12.08 ID:Ogg/6z+g
本は俺もほしいなぁ
ってか、本とかまともにないと絶対普及しないと思うし。
誰か本書いてくれないかなぁ(チラチラ
0372デフォルトの名無しさん2014/11/17(月) 23:10:56.23 ID:ppTtjJs6
うるせー社員
Googleマップで見つけたチンパンジーとGo言語しゃべっとけよ、アホ
0373デフォルトの名無しさん2014/11/18(火) 00:10:29.13 ID:pFMenGyU
失望した
0374デフォルトの名無しさん2014/11/18(火) 00:13:06.84 ID:zcJbx4rP
失禁した
0375デフォルトの名無しさん2014/11/18(火) 11:45:48.09 ID:WPotnA1T
インタフェースは遅くなると思って使わないようにしてたが
試しに使ってみたら便利すぎてフイタw
0376デフォルトの名無しさん2014/11/18(火) 14:17:21.30 ID:f2ThsyRx
どう便利かPHPerの僕に教えろ!
0377デフォルトの名無しさん2014/11/20(木) 17:31:22.49 ID:YC7+DKYP
男「よろしくお願いします」
面接官「で、君は何の言語ができるの?」
男「Goができます」
面接官「他には?」
男「Goだけです。Go一筋なんです」
面接官「面接を終了します。結果は後日
お知らせします。ありがとうございました」
0378デフォルトの名無しさん2014/11/20(木) 17:40:23.96 ID:YC7+DKYP
男「よろしくお願いします」
面接官「で、君は何の言語ができるの?」
男「Goができます」
面接官「え、囲碁は言語じゃないですよ」
男「囲碁じゃなくてGoなんです」
面接官「はあ? 言ってることがわかりません。面接を終了します。
結果は後日お知らせします。ありがとうございました」
0379デフォルトの名無しさん2014/11/20(木) 17:42:10.67 ID:oY1GPGoB
PHPerの自己投影かw
0380デフォルトの名無しさん2014/11/20(木) 17:50:59.42 ID:YC7+DKYP
男「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!」
0381デフォルトの名無しさん2014/11/20(木) 17:58:59.99 ID:B4HwyTzw
        (~)
      γ´⌒`ヽ
      {i:i:i:i:i:i:i:i:}       
      /´⌒ヽ  )     ツマンネw
     (   __ )つ ⌒゚
' '''"''"" "'゙''` '゙ ゙゚' ''' '' ''' ゚` ゙ ゚ ゙''` `
0382デフォルトの名無しさん2014/11/20(木) 20:50:01.64 ID:0cDVql0w
じゃ次はsheでよろしく
0383デフォルトの名無しさん2014/11/20(木) 23:00:01.41 ID:1ob9Wc7O
いち
にー
さん
しー C の次だから
ごー Go
なんだろ?
0384デフォルトの名無しさん2014/11/20(木) 23:08:50.77 ID:vc5Nijr7
Java(Sun microsystems)
C
Go
Heroku
0385デフォルトの名無しさん2014/11/20(木) 23:24:25.14 ID:4zN84dTB
Where should we go to??
0386デフォルトの名無しさん2014/11/20(木) 23:26:15.06 ID:1ob9Wc7O
next C な名前の言語はたくさんあるな
C++, D, C#(c++++), Go
0387デフォルトの名無しさん2014/11/20(木) 23:29:04.83 ID:zf12BS4g
俺も死の次ってことでheaven言語作ってくるわ
0388デフォルトの名無しさん2014/11/20(木) 23:29:44.04 ID:zf12BS4g
糞スペル
0389デフォルトの名無しさん2014/11/21(金) 10:22:44.31 ID:OG/Y7Xo1
[仕事量]
PHP>Go
[利用者]
PHP>Go
[実績]
PHP>Go

トリプルコンボでPHPerの勝ち
Goferもっと頑張りたまえ
0390デフォルトの名無しさん2014/11/21(金) 10:59:25.46 ID:Iey8mlHv
PHPはちょっと…
0391デフォルトの名無しさん2014/11/21(金) 12:16:17.06 ID:RKwctBBa
カンマ入り数値からカンマ外すのは、これ以外に無い?
strings.Replace("15,180,000", ",", "", -1))
0392デフォルトの名無しさん2014/11/21(金) 12:20:45.57 ID:UnHbl35a
配列にして結合
0393デフォルトの名無しさん2014/11/21(金) 13:47:11.98 ID:RKwctBBa
SplitしてJoinかな
ベンチマーク取ってみるよアンガと
0394デフォルトの名無しさん2014/11/21(金) 14:09:37.19 ID:RKwctBBa
BenchmarkSplitJoin  10000000 277 ns/op
BenchmarkReplace   10000000 177 ns/op

こんな感じ
0395デフォルトの名無しさん2014/11/30(日) 09:07:03.18 ID:NdiYUZYS
合コンおーいぇー
0396デフォルトの名無しさん2014/12/02(火) 05:14:09.00 ID:Mms1FSAQ
インストールしようとしてググってたら、
公式だとtar落として自分で展開してpath通せって書いてあるんだけど
EPEL参照でyumからインスコ出来るっぽい
公式でそっちにしないのは、この方法だとなんか不都合あるんだろうか
0397デフォルトの名無しさん2014/12/02(火) 07:38:42.44 ID:vquYws+a
今は知らないが、俺が apt で入れたときは
go get でシステム領域を汚そうとしたから止めた。
0398デフォルトの名無しさん2014/12/02(火) 18:04:09.77 ID:Mms1FSAQ
>>397
それって使わなくなった時に削除するのがめんどいってのがデメリットなのかな
アップデートとかも全部yumでやるから別にいいかなぁ…
どもども
0399デフォルトの名無しさん2014/12/03(水) 03:59:06.16 ID:xemfXL8Z
yumからのインスコで使うことにしたけど、
一個めんどくさい点があった
GOROOTを設定しないとbuildとか出来ない
pathにバージョンとか入ってるわけじゃないので
バージョンアップするたびに環境変数修正ってのはなさそうだけど
0400デフォルトの名無しさん2014/12/04(木) 19:17:39.60 ID:FmXLQYZZ
公式はepelじゃないんだから妥当だと思う。
でないとepel自身がパッケージ作れんがな。
0401デフォルトの名無しさん2014/12/08(月) 01:06:16.96 ID:jJwEDCVJ
AngoIMEで書いているで

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

BPS時代がきたわ
問題はJKが隣にいないことやw
0402デフォルトの名無しさん2014/12/08(月) 01:23:42.15 ID:gpxOhL3D
BPSならJSだろう
0403デフォルトの名無しさん2014/12/08(月) 13:00:08.49 ID:y0p0oDrX
洋館マソ
0404デフォルトの名無しさん2014/12/10(水) 22:15:28.40 ID:3ZzrTcyc
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って別に参照専用ってわけでもない連想配列ですよね?
なんでコケるんでしょうかこれ…
0405デフォルトの名無しさん2014/12/10(水) 22:38:54.56 ID:hVfFOG57
面倒くさいけど、こんな風にするみたい

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

ともあれ、ありがとうございます。
0407デフォルトの名無しさん2014/12/11(木) 15:31:26.79 ID:HIgp7OEe
go listってやっても
can't load package: package .: no buildable Go source files in /home/kido
ってなります

gocodeをgo getでインストールしてあるのですがどうしてgo listで表示されないんですか?
0408デフォルトの名無しさん2014/12/11(木) 15:49:25.67 ID:SBn2bhiW
0409デフォルトの名無しさん2014/12/13(土) 12:01:31.39 ID:BVSGhnq7
>>404
structは値型だからね
m["unko"]はmに格納されてるVertexのコピーが返される
これに修正加えても反映されないよーっていうエラー
だからそう言う書き方がしたいなら
map[string]*Vertex
って宣言するといい
0410名無しさん@そうだ選挙に行こう2014/12/13(土) 12:12:47.84 ID:imyzRhSY
>>409
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に関しては個人的に全部これでいいんじゃないかなと思ってしまうのですが
リファレンス型(ポインタ型?)を使うデメリットってあるんでしょうか。
自分で思いつくのは、
           値                リファレンス
メリット       ?               アドレス情報にしかメモリを使わない
デメリット    コピー分メモリを食う     ソースがやや煩雑に

とう感じなのですが…
0411名無しさん@そうだ選挙に行こう2014/12/13(土) 13:29:33.21 ID:WvyZJyoU
primitive 型の時は困るな…

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

とかできないし…

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

とかするのも本末転倒の様な気が
0412名無しさん@そうだ選挙に行こう2014/12/13(土) 14:08:11.12 ID:imyzRhSY
すみませんよくわかっていなかったようです…

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

>>412
sliceは参照型だからね
それ自体でポインタみたいなもんだから直でいける
0414名無しさん@そうだ選挙に行こう2014/12/13(土) 23:01:44.70 ID:imyzRhSY
>>413
遅くなりましたがありがとうございます!
0415デフォルトの名無しさん2014/12/29(月) 23:22:29.55 ID:QuoLDkEA
高階関数ってリフレクションしないと駄目っぽいな
せっかく関数が第一級オブジェクトなのに何か勿体ない
0416デフォルトの名無しさん2015/01/06(火) 02:43:41.06 ID:zpgKMgJd
mattnさんgo本書いてくんないかなー
0417デフォルトの名無しさん2015/01/06(火) 17:32:14.22 ID:M3VR0ni5
俺もmattn本に+1
言語仕様の説明よりもスーパーサンプル集的な書籍が欲しい
0418デフォルトの名無しさん2015/01/06(火) 21:00:48.30 ID:h8AkEaym
誰でもいいから本出してほしい
多少高くてもいいから。できれば一人でなく複数人
0419デフォルトの名無しさん2015/01/07(水) 09:21:21.81 ID:AOiER/0b
もう出てるけど、もっと深いのが欲しいのか?
0420デフォルトの名無しさん2015/01/07(水) 14:46:54.67 ID:e24S5a9I
androidで盛り上がれば本も増えるだろうな
0421デフォルトの名無しさん2015/01/07(水) 19:22:58.91 ID:cvGCzuKQ
>>417
ほんとこれ
言語仕様やライブラリ仕様はリファレンスが十分過ぎるぐらい充実してるしな
0422デフォルトの名無しさん2015/01/07(水) 23:22:36.07 ID:TubS6YKr
マトン先生今年はヒツジ年だからなんか出すはず!
0423デフォルトの名無しさん2015/01/08(木) 12:15:26.41 ID:r59ZtkkO
配列の最高値とインデックスを返すような多値関数から
最高値だけをAppendしたい場合、一旦変数に受けないと無理?
0424デフォルトの名無しさん2015/01/08(木) 16:15:54.59 ID:SnsO6Hw4
なぜmattunさんはチンチン丸出しの素っ裸なのか…
0425デフォルトの名無しさん2015/01/08(木) 20:38:46.44 ID:PYPv/bx4
>>423
無理やりだけどこんな感じで

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)
}
0426デフォルトの名無しさん2015/01/08(木) 20:48:39.89 ID:r59ZtkkO
>>425
凄い、全然思い付かなかったです
勉強になりました。ありがとう
0427デフォルトの名無しさん2015/01/08(木) 23:08:21.81 ID:JAYi2dXH
即時関数か
golangでも出来るんやな
0428デフォルトの名無しさん2015/02/04(水) 19:19:43.13 ID:8Sw6mo5N
go getでインストールしたパッケージはGOPATHで指定したパスにインストールされるけどさ
go listっていうのはこのGOPATHにインストールされているパッケージ一覧を表示してくれるってわけじゃないんですか?
$ go list
>can't load package: package .: no buildable Go source files in /home/kidotoyohiko
こうなるんですが
0429デフォルトの名無しさん2015/03/09(月) 12:22:38.99 ID:ZcxXoJVE
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()
}
0430デフォルトの名無しさん2015/04/27(月) 03:14:20.43 ID:0ybKBVZB
http://ideone.com/4EFjar
pop()と同じ動作を想定して, pop1() pop2()をかいてみたんですが
どちらも r=4 になってしまいます
goで式の評価順はどうなってるのでしょうか?
0431デフォルトの名無しさん2015/04/27(月) 08:55:25.98 ID:SK92dx/y
>>430
appendって領域が十分なら上書きしちゃったりするんじゃなかったっけ?
0432デフォルトの名無しさん2015/04/27(月) 11:53:03.95 ID:0ybKBVZB
>>431
上書きされてました ありがとうございます
0433デフォルトの名無しさん2015/05/27(水) 08:44:30.80 ID:CaoeGQX/
main関数を他の関数の上に持っていくか下に持っていくか迷ってるんだけど
ルールがあったりする?
0434デフォルトの名無しさん2015/05/27(水) 12:03:24.54 ID:KwGlDoiU
C(K&R)ならともかくGOじゃないっしょ
無いよね?
0435デフォルトの名無しさん2015/06/03(水) 23:41:10.45 ID:WPfxguwe
Cじゃねえんだから好きにしろよ
0436デフォルトの名無しさん2015/06/05(金) 22:59:12.97 ID:kU15dp2l
Cとか書いた事も無いので何で後ろに有るのか不思議に思ってたけど
ググってスッキリした
0437デフォルトの名無しさん2015/06/07(日) 17:29:20.20 ID:rVbuZbAc
A Tour of Go(日本語版)のフィボナッチ数のExerciseはテストされないのか
0438デフォルトの名無しさん2015/06/10(水) 19:04:40.57 ID:vRKJ93PX
A Tour od Go 日本語訳が色々辛い
0439デフォルトの名無しさん2015/06/11(木) 20:17:20.73 ID:7zT8SS54
go build はカレントディレクトリに実行ファイルを生成
go install は go build に加えて実行ファイルをGOBINに移動させる

って理解であってる?
0440デフォルトの名無しさん2015/06/18(木) 12:32:46.05 ID:UagCHqSk
>>439

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がクライアントサイドで動くかも?
0441デフォルトの名無しさん2015/06/18(木) 13:02:41.32 ID:oefBmuK0
レスやないやん
0442デフォルトの名無しさん2015/06/18(木) 17:54:28.09 ID:z2QMHecM
>>440
おおそれは面白そう
0443デフォルトの名無しさん2015/06/19(金) 16:59:13.37 ID:fpEnerGj
サーバサイドアプリを作ってるんですが、
ファイルの変更を検出して今のプロセスを殺して go run XXX.go を再実行してくれる良いツールないでしょうか?

Ctrl+c して go run XXXX.go とか地味にイライラする
0444デフォルトの名無しさん2015/06/19(金) 17:41:22.39 ID:fpEnerGj
>>443
自己レスですがginで解決しました。
ttps://github.com/codegangsta/gin
0445デフォルトの名無しさん2015/10/31(土) 18:57:33.63 ID:ELtLmf7b
DLL作れるようになったのかと思ったらWindowsじゃサポートされてないのね
0446デフォルトの名無しさん2015/11/25(水) 07:15:24.66 ID:rJmLSs5J
0447デフォルトの名無しさん2015/12/01(火) 23:30:02.07 ID:YHNsRt8H
http://go-talks.appspot.com/github.com/lestrrat/go-slides/2014-yapcasia-go-for-perl-mongers/main.slide#58
このスライドの struct{} と struct{}{} ってなんですか?
0448デフォルトの名無しさん2015/12/02(水) 08:00:24.78 ID:98kWsFh0
struct{}
空の構造体定義

struct{}{}
空の構造体定義&生成
04494472015/12/02(水) 10:15:23.48 ID:I9gRsCT5
>>448
ありがとうございました。
0450デフォルトの名無しさん2015/12/04(金) 07:20:04.14 ID:codNuEGF
GOって全然流行らないね
0451デフォルトの名無しさん2015/12/04(金) 12:12:16.23 ID:RqbsZlfd
1.5.2リリースきたー

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

もっと流行っても良いんじゃないかとは思うけど、ぐぐれば情報が十分ある程度には使われてるし不自由な状況ではないんだよな
0453デフォルトの名無しさん2015/12/05(土) 02:50:44.50 ID:XzVzQBrr
ググラビリティが悪い
もうちょい名前を考えて欲しかったな
0454デフォルトの名無しさん2015/12/19(土) 15:53:57.84 ID:TV8OiN+s
goのEditorで今のおすすめは何かな?
俺の中ではVisualStudioCodeなんですが。
0455デフォルトの名無しさん2015/12/19(土) 23:54:09.03 ID:GM3q6wlH
sublime textで特に不満ないよ
0456デフォルトの名無しさん2015/12/25(金) 02:25:51.96 ID:y60VPA7n
goは外部ツール充実してっからどのエディタでも同じレベルで快適だよ。だいたいgo用のパッケージかプラグインあるでしょ。だから好きなエディタ使え
0457デフォルトの名無しさん2015/12/31(木) 20:19:55.18 ID:BO+mMVFR
>> 455

IntelliJがいいよ。
はてなの中の人もオススメしてた。
0458デフォルトの名無しさん2015/12/31(木) 20:20:32.48 ID:BO+mMVFR
上のレス >> 454 だった
0459デフォルトの名無しさん2015/12/31(木) 23:57:36.14 ID:0xf2UWz7
来年はgo言語もちょっと盛り上がるといいね
0460デフォルトの名無しさん2016/01/01(金) 13:12:47.05 ID:E/hak+Py
マ イ ン ド コ ン ト ロ ー ル の手法

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

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

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

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

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

「ガ ス ラ イ テ ィ ン グ」 で 検 索 を !ll
0461デフォルトの名無しさん2016/01/02(土) 15:11:34.83 ID:dDeNCcj5
・沢山の人が、偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

消費税ですね判ります
0462デフォルトの名無しさん2016/01/06(水) 23:14:14.44 ID:4CIgSJD1
オライリーから本出るね
0463デフォルトの名無しさん2016/01/07(木) 00:14:59.45 ID:0znhgkz2
どうせなら The Go Programming Language を翻訳してくれればいいのに
0464デフォルトの名無しさん2016/01/07(木) 00:45:00.91 ID:wyILSx5n
今年3月に翻訳本が出るんじゃなかったっけ
0465デフォルトの名無しさん2016/01/07(木) 12:35:59.31 ID:N5HH13xV
英語版だと5ドルで買えるから英語版読んだら。
0466デフォルトの名無しさん2016/01/13(水) 09:40:10.12 ID:LriSB9Er
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割方データベースだろ、って状態ではこんな感じでしょうかね
0467デフォルトの名無しさん2016/01/13(水) 11:46:07.30 ID:EwraTGVM
Win10使ってる時点でお察し
0468デフォルトの名無しさん2016/01/13(水) 12:08:33.96 ID:uMvtIS1u
横からだけどこういう比較するときはVirtualBoxあたりでLinux環境立てたほうが良いんかね?
0469デフォルトの名無しさん2016/01/13(水) 14:35:53.26 ID:CipOufW1
Go「Linuxなら…本気出す」

別の場所でちょい古のDebianで試してみた所
(1)PHP 463リクエスト/分 129msec/回
(2)Go 410リクエスト/分 145msec/回
やっぱりGoの方がわずかに遅いっぽい…
0470デフォルトの名無しさん2016/01/13(水) 14:58:45.80 ID:CipOufW1
PasteBinに貼って置くので「ここやがな」てのが有れば教えてくれください

ttp://pastebin.com/kQBFhVQp
ttp://pastebin.com/6bACps6v
0471デフォルトの名無しさん2016/01/13(水) 15:54:22.06 ID:EwraTGVM
糞はfmtじゃね
0472デフォルトの名無しさん2016/01/13(水) 17:13:31.80 ID:jmhOlm9C
part1 て....人気ないの?それとも2ch に書き込むような品性下劣な人間が少ないってこと?
0473デフォルトの名無しさん2016/01/13(水) 17:23:19.96 ID:7cbOl3Dp
Tiobe だと 50位以内に入ってないぞ
まあキッシュイーターが群がるような代物でもないけど
0474デフォルトの名無しさん2016/01/13(水) 18:05:20.91 ID:EwraTGVM
>>472
前にも Go スレは何度か建ってたのでこれが part1 というのは間違い
0475デフォルトの名無しさん2016/01/13(水) 19:30:58.60 ID:cjoN9klk
言語仕様が安定してるから話すことないとかかな。
Swiftなんかガンガン変更しまくりで試行錯誤感が半端ない。
goにジェネリクスが付いたらまた変わるのかも。
正直メタプログラミングが弱いのが辛い。ちょっとしたツール系を作るのはいいけど、
Webアプリをこれで作りたいとあんまり思わないだよなぁ
0476デフォルトの名無しさん2016/01/13(水) 22:56:09.25 ID:jmhOlm9C
なるほど。まあ罵詈雑言の応酬より過疎ってた方が読みやすくてありがたい
0477デフォルトの名無しさん2016/01/13(水) 23:22:36.01 ID:Me1xU7va
PDOはネイティブ呼び出しだから速いよ
0478デフォルトの名無しさん2016/01/14(木) 03:24:09.60 ID:byr4bFjT
>>475
webアプリではないけど、GAE/goをモバイルバックエンドに使ったらスケール悩まず書けて素敵なんだけどな
最近ならSPAでも便利だろう
小規模サービスなんで恐縮だが個人的には安く上がってると思ってる

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

goでwebやるならGAEも是非とは言いたい
0479デフォルトの名無しさん2016/01/14(木) 03:40:41.70 ID:UUuhE8Rb
>>470
自己メモレス
Fprintf(w, "書式", 変数)をやめる
Fprint(w, r.a + ":" + r.b ...
その場で一度に文字列連結、にすると2%くらい速くなる模様ですぞ
こうするとやってることはPHPとほとんど同一で、差も微粒子レベルで存在になるかな
0480デフォルトの名無しさん2016/01/14(木) 10:38:57.14 ID:YBLBbkKl
>>478
手軽にwebAPIサーバーが書けるフレームワークって何が便利なの?
echo?gin?そろそろデファクトスタンダードが出てほしい。
最近Elixir+phonix触ってるんだけど、エラー時にプロセス再起動する機能が組み込んであるのが便利そう。
goでデーモン書くのって決まりきった書き方もないみたいだし、
いろいろ下回りを自前で準備する感じがするんだけど、、、
0481デフォルトの名無しさん2016/01/14(木) 19:16:39.15 ID:MVoyv7BA
>>479
Fprintf も止めればもっと速くなる
0482デフォルトの名無しさん2016/01/14(木) 21:11:50.22 ID:x8stlI1n
0483デフォルトの名無しさん2016/01/14(木) 21:28:59.92 ID:eYypgRpr
>>482
発売日は、まだ先なのね。
本屋行って探しちゃったじゃんかー
0484デフォルトの名無しさん2016/01/15(金) 23:01:47.93 ID:27wkGJB0
1.5.3ってセキュリティfixだけですか?
milestoneのは入っているんでしょうか。
0485デフォルトの名無しさん2016/01/16(土) 05:56:46.68 ID:2dhmjbRf
>>482
おっ、どんなだろ予約しておこう
0486デフォルトの名無しさん2016/01/25(月) 00:44:23.45 ID:MxjMVzG6
Goで素数判定をエラトステネスのふるいにして書いてみたけどrubyのprimeライブラリより遅かった
Goってあんまり速くないの?教えてエロい人
0487デフォルトの名無しさん2016/01/25(月) 00:54:54.11 ID:11Jcfjfr
Go のバージョンと実際に書かれたコードが分からんので何とも言えない
0488デフォルトの名無しさん2016/01/25(月) 01:16:17.48 ID:MxjMVzG6
>>487
バージョンは1.5
コードは俺のが遅いのかまともに書いてる人のでも遅いのかが気になってるだけだから載せるまでもないかなと思ってる
0489デフォルトの名無しさん2016/01/25(月) 01:48:00.41 ID:11Jcfjfr
$ 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
0490デフォルトの名無しさん2016/01/25(月) 02:28:15.33 ID:MxjMVzG6
>>489 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-
0491デフォルトの名無しさん2016/01/25(月) 08:54:26.29 ID:11Jcfjfr
そんなに遅いかな?

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 のソースコードを見てみる
0492デフォルトの名無しさん2016/01/25(月) 09:30:52.61 ID:11Jcfjfr
ここは、

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 までの素数を全部計算してからチェックしたら遅いわな
0493デフォルトの名無しさん2016/01/27(水) 00:44:58.41 ID:YbPGx/2n
>>492
よく考えたらprimeかどうかだけならそのifないと圧倒的に効率悪かったな
助かったサンクス
0494デフォルトの名無しさん2016/01/27(水) 10:03:42.93 ID:PS/Qpp4W
>>493 はフィボナッチでも劇遅糞プログラミングしそう
0495デフォルトの名無しさん2016/01/27(水) 11:55:10.02 ID:ChRzt0VQ
>>493
それで結果はどうなったの?rubyより早くなった?
0496デフォルトの名無しさん2016/01/27(水) 21:15:12.05 ID:hT8Bs+OE
>>495
素数: 1853028778786433 について試してみた
$ time ruby -e 'require "prime"; puts 1853028778786433.prime?'
4.61s user 0.08s system 99% cpu 4.700 total
golang の方は有意な時間で判定できなかった。
逆に小さな約数を持つ場合だと golang のが早かったりする。
一体どうやったらこんなに速くなるんだ・・・
0497デフォルトの名無しさん2016/01/27(水) 21:33:03.27 ID:hT8Bs+OE
と思って 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
0498デフォルトの名無しさん2016/01/27(水) 23:10:29.76 ID:qL6rtn4g
どれだけ高度なコンパイラを使おうとアルゴリズムがダメならインタプリタに負けるって事がはっきりわかんだね
0499デフォルトの名無しさん2016/01/30(土) 13:13:18.17 ID:dxvhMaRr
0500デフォルトの名無しさん2016/01/30(土) 14:11:30.69 ID:VBtK9+ST
>>499
細かいところだがサンクス
ちなみにどれぐらい速度変わった?
今出先で調べられないんで気になる
0501デフォルトの名無しさん2016/01/30(土) 18:06:51.65 ID:dxvhMaRr
ごめん、はやくなってなかったorz
0502デフォルトの名無しさん2016/02/03(水) 01:00:13.99 ID:RekMB9Ax
goは言語仕様が絞られて素敵だけど、
いざ使うとなるとやっぱりメタプログラミングに弱いのが辛い。
リフレクションも使いづらいし、ジェネリクスがほしい。
せめてelxirのマクロみたいな機能でもほしい。
0503デフォルトの名無しさん2016/02/03(水) 01:10:28.85 ID:sGnqiCrl
groovy でも使っとけ
0504デフォルトの名無しさん2016/02/03(水) 19:27:02.90 ID:8oEH7nQt
     ,_---~~~~~----._    
 _,,_,*^____   _____``*g*\"*,
/ __/ /'   ^. /   \ ^@q  f
[ @f | @))  | | @))  l 0 _/ 
\`/  \~____ / __ \_____/  \ 
 |      _l__l_      I 
 }     [______]      I 
 ]      | | |      |  お年寄り向け言語に文句言うな
 ]       ~ ~       | 
 |              | 
  |              |
0505デフォルトの名無しさん2016/02/04(木) 08:13:31.10 ID:MUd/RGoB
go は c の代替って感じだからな。
0506デフォルトの名無しさん2016/02/04(木) 17:21:48.10 ID:ob+62gtm
>>504
plan9おじさん
0507デフォルトの名無しさん2016/02/04(木) 19:16:26.71 ID:qHo6spb8
go buildで最適化オプションないよね。

他言語の最適化おプチョンって何してるかわからんけど(デバッグ機能とか削ってんの?)、
実はgoってもう少し早くなるんじゃないかと思うんだが。
0508デフォルトの名無しさん2016/02/04(木) 20:22:00.20 ID:7gWb47bj
gccgo でも使えばいいんじゃない
0509デフォルトの名無しさん2016/02/06(土) 15:12:23.11 ID:+oaiB5r1
gccgo はversion古すぎてむしろ遅い
0510デフォルトの名無しさん2016/02/18(木) 07:25:41.93 ID:R9/9Yxv0
go 1.6 age
ttps://blog.golang.org/go1.6
0511デフォルトの名無しさん2016/02/18(木) 17:06:46.52 ID:45GMtAZP
1.6は少し難産だったかな。
0512デフォルトの名無しさん2016/02/25(木) 14:07:18.05 ID:1iIBqXg3
Goってサンプルコード見た感じ
プロトタイプベースの動的型付けでJavaScriptみたいに見えるけど
ぜんぜん違う?
0513デフォルトの名無しさん2016/02/25(木) 18:19:46.58 ID:7HmTbcPG
うん、全然違う。
0514デフォルトの名無しさん2016/02/26(金) 02:02:53.28 ID:xrOnn7Vq
>>511
一番すごい変更はvendoringかな。
コンパイル速度も速いままだし。

あと開発環境はvisualStudioCodeのgoサポートが一番いい気がするんだけどどう?
debugが一応スタックトレースくらいは見れるから
code readlingしやすくなったかも
0515デフォルトの名無しさん2016/02/27(土) 10:39:29.98 ID:HPxqSVef
>>514
なれるとvim。
0516デフォルトの名無しさん2016/02/27(土) 13:19:34.48 ID:yMp5JRD4
俺もVimだな
0517デフォルトの名無しさん2016/02/27(土) 13:25:33.79 ID:kW+aRgio
>>516
vimは環境構築がよくわからなくて使いこなせない。
一から構築するとしてどこみりゃいいの?
0518デフォルトの名無しさん2016/02/27(土) 14:19:56.77 ID:HPxqSVef
>>517
ttps://github.com/fatih/vim-go
0519デフォルトの名無しさん2016/03/01(火) 01:00:37.90 ID:29/rUB4E
for r := range "よろしく" {
fmt.Printf("<%c>¥n",r)
}

と、書くと実際にはrに入るのはindexなので期待通りに動きません
goにおいて多値を帰す場合は受け取り側もその数分用意しなくてはいけない
のが仕様のはずですが、
これは組み込みの機能なので対象外の動作です。
せめてrにはvalueが入るのが基本動作なら良かったんですが
このような挙動なのにはなにか理由があるんでしょうか?
教えて下さい
0520デフォルトの名無しさん2016/03/01(火) 07:46:36.94 ID:6qCWzYt3
文字列がインデックス付きデータだからでしょ。

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

では駄目なの?
0521デフォルトの名無しさん2016/03/02(水) 02:02:01.07 ID:O+5v5XDS
>>520

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

関数がエラーを含んだ多値を返すことを考慮して受け取り側は常に何個の返り値が返るか
意識することが必須ですが、
rangeは2つめの返り値を'_'で受取る必要が
なくても唯一動くことが許されていますよね
0522デフォルトの名無しさん2016/03/02(水) 02:36:27.86 ID:KGp7/CHI
そもそもfor文なんだからインデックスだけ使う場合はそういう表記でも違和感なくね?と思うんですが
0523デフォルトの名無しさん2016/03/02(水) 07:53:32.49 ID:4uoCKH4m
>>521
インデックスは一つ目だぞ
0524デフォルトの名無しさん2016/03/02(水) 07:57:52.01 ID:WtpIOuzZ
>>521
型アサーションも第二返り値を付けると失敗時に panic せずに失敗したことを真偽値で返すし、
開発者はそうすることで利便性が上回ると判断したんでしょ。
0525デフォルトの名無しさん2016/03/02(水) 17:47:47.86 ID:O+5v5XDS
>>524
あっ型アサーションもそういう挙動だったですね。
失念してました。
でもrangeで多値返却の省略可能な構文はメリットが思いつかなくないですか?
0526デフォルトの名無しさん2016/03/02(水) 19:29:42.93 ID:LM//BLJD
>>525
型アサーションだけでなく comma OK 構文全部だね。

>rangeで多値返却の省略可能な構文はメリットが思いつかなくないですか
型アサーションの挙動を見るに、省略してると言うより返り値の数によって別の処理を呼び出してる感じだけど、
まあ、パターンを覚えてしまえば余計なもの書かなくて済んで楽だよ。
0527デフォルトの名無しさん2016/03/06(日) 23:04:28.69 ID:b6Djrwpa
Goで使われたものでよく使ってるものとか面白いものとかないですか?
俺がよく使うのはghqです。

ghq : Manage remote repository clones

とりあえず試しにgit cloneするのに便利。後で迷わないし。
pecoと組み合わせで使っています
0528デフォルトの名無しさん2016/03/08(火) 07:20:41.16 ID:UEJ8DCRQ
仕事で使う使い捨てツールはgoで書いてるよ
rubyとかで書くと処理遅いから。
0529デフォルトの名無しさん2016/03/08(火) 11:28:08.83 ID:MTUVFWu6
マッハの高速
0530デフォルトの名無しさん2016/03/08(火) 11:30:57.60 ID:MTUVFWu6
ruby 2.2おそいのか。ハァー
0531デフォルトの名無しさん2016/03/08(火) 11:33:23.15 ID:MTUVFWu6
【アニメ】 マッハGoGoGo_OP - YouTube
https://www.youtube.com/watch?v=cPR45cBkRq4
0532デフォルトの名無しさん2016/03/11(金) 22:39:08.10 ID:nLZDtom/
0533デフォルトの名無しさん2016/03/12(土) 12:14:25.10 ID:SnyNHJuk
日本語版でたのか。原著出てから4か月ちょっとなので結構はやかったね。
http://www.informit.com/store/go-programming-language-9780134190440
0534デフォルトの名無しさん2016/03/12(土) 14:29:02.35 ID:BDXKc72j
http://postd.cc/why-go-is-not-good/
こういう不利な点があっても使われる理由ってなんだと思う?
0535デフォルトの名無しさん2016/03/12(土) 14:48:41.88 ID:SnyNHJuk
よく言われるのは、サーバーサイドでシングルバイナリのデプロイが楽とか。
unix上では、etcdやdockerコマンドみたいなところで使われてるよね。
GCもどんどん進化してるから、データストア的な大量メモリを扱うデーモンにも使えるようになってきてる。
0536デフォルトの名無しさん2016/03/12(土) 20:34:31.86 ID:DTB2KgOx
それTheGoProgrammingLanguageの翻訳だよね?
0537デフォルトの名無しさん2016/03/12(土) 21:00:42.17 ID:+ss4n7rx
早とちりして発売されたのかとおもったら、6/15予定だった。
0538デフォルトの名無しさん2016/03/15(火) 22:07:51.01 ID:vgWvBE4N
4月にも初心者向けの本出るのね
0539デフォルトの名無しさん2016/03/16(水) 10:59:19.14 ID:Tb17X3fe
だれかaltGo作ってくんないかな。
Goのエコシステムは最高だから、あとはもっとメタプログラミング強くしてほしい。
ジェネリクス付けて。

とTypeScript触りながら思いました。
0540デフォルトの名無しさん2016/03/19(土) 02:08:18.93 ID:lSlighbA
cからc++みたいに、go templateになりそう。
0541デフォルトの名無しさん2016/04/05(火) 21:09:51.29 ID:5i0FcrUo
原書 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
0542デフォルトの名無しさん2016/04/05(火) 22:39:31.14 ID:gPD3pwmd
まあカーニハンはかなりのビッグネームだし
0543デフォルトの名無しさん2016/04/05(火) 22:44:14.08 ID:mDmXAcnH
goってあんまり言語仕様が変化しないイメージだから
本は作りやすそう。
goの今後の予定ってドコに書いてるんです?
0544デフォルトの名無しさん2016/04/06(水) 15:19:43.14 ID:9UltHY9g
まあ、紀元前の本みたいなところはあるからね。
0545デフォルトの名無しさん2016/04/06(水) 15:27:24.96 ID:L63lM2I2
>>539
Ruby でも使ってればいいんじゃない
0546デフォルトの名無しさん2016/04/13(水) 14:39:12.21 ID:ndZ6lh6D
>>545
rubyは下位互換性を捨てながらマイナーバージョンアップしてないか?
たまにcocoapodsが死んだりするんだが。
goで書き直してほしい。コマンドラインツールこそgoで書いてほしい
0547デフォルトの名無しさん2016/04/20(水) 23:50:51.74 ID:ZQBKVnsi
>>539
c++から馬鹿をたくさん召還するだけだな。
いらん。
0548デフォルトの名無しさん2016/05/01(日) 15:24:29.85 ID:tKi6j9CT
匿名通信(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的に分散され、特定のサーバーに依存しません
0549デフォルトの名無しさん2016/05/11(水) 11:14:37.67 ID:sA9FQTwa
goのいい記事あったら教えてくれませんか
GolangのGCを追う
http://deeeet.com/writing/2016/05/08/gogc-2016/
上記は良かったGo1.6以降のGCの調子が良さ気。だけどSTWを体感するようなものをつくッテはいないのでなんとも
0550デフォルトの名無しさん2016/05/11(水) 16:06:51.62 ID:eKmG0PfI
GoでWindows GUIアプリ作った猛者はおりますか?
0551デフォルトの名無しさん2016/05/11(水) 22:35:30.19 ID:024Ag8VN
http://golang.jp/pkg/exp-draw-x11
x serverあればどこでも動く
0552デフォルトの名無しさん2016/05/12(木) 06:10:52.87 ID:S2EnPjPz
>>550
WALKを使えばそれなりのものは作れるよ
0553デフォルトの名無しさん2016/05/12(木) 15:55:56.59 ID:wiVsZFfr
>> 550
Qt系の go-qml を使って普通に書いていますよ。
go-qml のインストールがすこし大変だけど
詳しい手順は以下の投稿したので参考にしてください。

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

でもシンプルさなど良い面もあるけれど
0555デフォルトの名無しさん2016/06/01(水) 15:06:00.18 ID:559HNr1m
誰もGo言語を基幹システム作るのに使おうとは思わんよ
銀の弾丸がないことを理解していない人間が評価という行為をするのは難しい
0556デフォルトの名無しさん2016/06/01(水) 15:43:26.33 ID:c7aWQBRE
銀の玉ってマ板でよく目にするけど元ネタ何なん
0557デフォルトの名無しさん2016/06/01(水) 15:46:05.83 ID:kIamMPov
人月の神話
0558デフォルトの名無しさん2016/06/01(水) 16:05:38.28 ID:c7aWQBRE
マジレスついた
ありがとう
0559デフォルトの名無しさん2016/06/01(水) 18:48:22.39 ID:2G+PcsXp
>>555
残念ながら、世界中の国家の機関になりそうなシステムをGoで書いてるんだな、今
0560デフォルトの名無しさん2016/06/01(水) 19:23:38.40 ID:559HNr1m
多分、基幹システムの認識がずれている
0561デフォルトの名無しさん2016/06/01(水) 19:24:47.53 ID:+8tVRjk4
どうでもいいが 555 と 559HNr1m で 5 が 5個入ってるな
0562デフォルトの名無しさん2016/06/01(水) 19:26:34.98 ID:559HNr1m
555をファイズと読んでしまった俺の認識も多分間違っている
0563デフォルトの名無しさん2016/06/01(水) 20:15:06.92 ID:0Dfr5L+i
国家の機関になりそうなシステムってものすごいフレーズだな
0564デフォルトの名無しさん2016/06/01(水) 22:56:48.57 ID:tjGnKxey
LLやってる人からすると、バイナリをgdb使ってデバッグするのは教えてもらわないとなかなか難しいかも。
phpやrubyやってても普段からIDEでデバッガ使ってればそんなに違いはないんだけどね。
0565デフォルトの名無しさん2016/06/02(木) 00:19:36.30 ID:M2BPbwci
既出かもだけど、俺コレには震えた

http://qiita.com/mattn/items/b7889e3c036b408ae8bd
0566デフォルトの名無しさん2016/06/02(木) 04:24:28.34 ID:cXOBdHTr
>>554
その意図しない挙動という部分を具体的に出してもらいたい。
大概そういうのは言語のせいじゃなくて自分のせい。というのを
長い年月で繰り返して学習するもんだけども
0567デフォルトの名無しさん2016/06/02(木) 09:51:15.12 ID:KfXFMNM2
>>566
そういうことも考えずに書いてるから突っ込まれてんじゃないの?
0568デフォルトの名無しさん2016/06/02(木) 10:03:29.88 ID:sFcAoyCt
func later() func(string) string {
...
return func(g string) string {
...
}
}
ごめん、このクロージャの最初の部分のlater() func(string) stringってどういう意味?
関数名がlater 戻り値がstringは分かるけど、func(string)がなんでこんな場所に書かれてるのかな、と
0569デフォルトの名無しさん2016/06/02(木) 10:16:38.46 ID:mKtftCeF
laterの返り値がstringを引数にとってstringを返り値とする関数という意味では?
0570デフォルトの名無しさん2016/06/02(木) 12:02:45.10 ID:sFcAoyCt
う〜ん、難しい...
0571デフォルトの名無しさん2016/06/02(木) 13:52:28.11 ID:cXOBdHTr
>>570
cの宣言構文より見やすいはずなんだけどね

http://qiita.com/m0a/items/2b03b189d746ae231756
この辺読むとか
0572デフォルトの名無しさん2016/06/02(木) 15:52:21.01 ID:sFcAoyCt
>>569
あぁ、なるほど
ようやく今理解した

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

関数laterは引数は取らずに、
返り値として「stringを引数に取り、stringを返り値として返す」
0573デフォルトの名無しさん2016/06/02(木) 16:09:51.23 ID:sFcAoyCt
あれ、ちょっと待って

https://ideone.com/i9EfQl

later()は引数取らないけれど、
f := later()
f("apple")
どっからstoreに"apple"なんか文字列引数が渡されてるの?
こういう型の場合、ローカル変数(ここではstore)にコンストラクタのような働きが起って自動的に引数がセットされるって事?
0574デフォルトの名無しさん2016/06/02(木) 16:14:42.71 ID:sFcAoyCt
連投ごめん
f := late()
によって、fはlater()の返り値の関数を取得してるんだね
だから、f("apple")には上の無名関数func(string) stringが呼び出されて"apple"が引数とされているってことか
ごめん、分かった
0575デフォルトの名無しさん2016/06/03(金) 17:56:32.51 ID:BR7tIPAt
http://mattn.kaoriya.net/software/lang/go/20131112132831.htm

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

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

func (g *G) ClearMsg() {
for len(g.task) > 0 {
<- g.task
}
}
も同じ事してるけど
チャネルを開放してるのかな、とも思ったけど、明示的にcloseしなくていいのかな、と
またはnilや空文字などにするとか
0576デフォルトの名無しさん2016/06/03(金) 19:00:57.59 ID:qwZkBXwi
0577デフォルトの名無しさん2016/06/04(土) 20:36:19.02 ID:OVOooqIv
windows版のbuildmodeはexeしかできないの?
もしできるならスクリプト言語のrequireみたいに動的な読み込みとかできる?
さらにもしできたとしてunload的な名前空間の削除は?
0578デフォルトの名無しさん2016/06/06(月) 11:35:10.38 ID:4GD0zoa3
>>576
遅くなったけど返答ありがと

そうなんだ
終了待ちとかあるんだ
普通にやることなければその場でkillのように終了させたほうがいい気もするけど、Goは一気にまとめて終了させるってことなのかな?
0579デフォルトの名無しさん2016/06/06(月) 13:30:02.95 ID:u3gzbyWM
>>578
終了待ちのところをコメントアウトして実行してみると分かると思うけど、終了待ちしないとgoroutineを回し切る前にmainが先に終わってしまう
0580デフォルトの名無しさん2016/06/07(火) 20:01:20.35 ID:UCJwx0XG
>>579
ありがとう
0581デフォルトの名無しさん2016/06/08(水) 00:14:44.49 ID:sUO1i6Sl
https://ideone.com/SqM9XQ
インターフェースを実装して利用しようとしたんだけど、ShowMessage()が動かなくて
どこをどう変えればいい?
05825812016/06/08(水) 00:28:26.77 ID:sUO1i6Sl
あぁ、ごめん
fmt.Println(mes.ShowMessage())にすればいいんだね
0583デフォルトの名無しさん2016/06/08(水) 12:03:24.49 ID:E58O1JXH
https://ideone.com/ZPQ1ib

SetProfile()にて、構造体Profileのフィールド値を動的に変えたいんだけど、
どのように書き換えればいい?
0584デフォルトの名無しさん2016/06/08(水) 13:40:28.97 ID:6nwZJnu3
you 変数は必要ないんじゃ?

//you := make(map[string]string)

//you["Your_name"] = scanner.Text()
me.Your_name = scanner.Text()

//you["Your_gender"] = scanner.Text()
me.Your_gender = scanner.Text()

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

しかし、もし上記のような場合って処理できるのかな?
for k, v := range arr {
switch k{
case
0586デフォルトの名無しさん2016/06/08(水) 15:28:46.54 ID:E58O1JXH
switch k{ case 'Your_name': p.Your_name = v; } } のような処理は考えうるけど、
Pythonでいうsetattr(self, k, v)のようなこと出来ないのかなと思ったり
0587デフォルトの名無しさん2016/06/08(水) 16:47:30.19 ID:6nwZJnu3
んー、reflection を使えば良いんじゃないかな

func (p *Profile) SetProfile(arr map[string]string) {
for k, v := range arr {
key := reflect.ValueOf(p).Elem().FieldByName(k)
if key.IsValid() {
key.SetString(v)
}
}
}
0588デフォルトの名無しさん2016/06/10(金) 11:21:56.11 ID:+PET1099
>>587
ありがとう
上手く動作しました
0589デフォルトの名無しさん2016/06/10(金) 11:28:41.43 ID:+PET1099
http://qiita.com/kitoko552/items/a6698c68379a8cd8b999
オブジェクト指向っぽいことを試してみようと思い、上記のページを参考に以下のコード書いてみた
https://ideone.com/3ClfoG

$ go run capsule.go
# command-line-arguments
.\capsule.go:24: invalid indirect of Human literal (type Human)
というエラーが出るんだけどどこをどう変えればいいですか?

やりたいことは、
・カプセル化
・getter, setterの定義
・Embed
0590デフォルトの名無しさん2016/06/10(金) 11:50:51.12 ID:DB1UcVrL
return *Human{



return &Human{

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

https://play.golang.org/p/8pEGG3kdhH
0592デフォルトの名無しさん2016/06/10(金) 22:32:36.41 ID:+PET1099
>>590
ありがとう
0593デフォルトの名無しさん2016/06/11(土) 01:51:48.80 ID:vokBGi10
>>587
https://ideone.com/rGIVZU
このような場合は上手くいったけど、

https://ideone.com/86I4on
このように、構造体に2つの構造体が埋め込まれていて、それらに更に動的にメンバ変数に値を入れていくとなるとどうすればいいのか悩んでるんですが
コメントで★を入れた部分はどのように記述すれば良いのか全く分からず半日くらい費やしてます(苦笑)
0594デフォルトの名無しさん2016/06/11(土) 02:54:26.06 ID:ncrPm/bC
とりあえずは即時関数で。

return &Profile{
mine: func() (m MyProfile) { m.SetProfile(arr["me"]); return }(),
yours: func() (y YourProfile) { y.SetProfile(arr["you"]); return }(),
}
0595デフォルトの名無しさん2016/06/11(土) 12:57:03.40 ID:5N4sydIU
>>594
ありがと
本当に助かりました
自分には浮かばない発想でした

しかし、一つ聞きたいのは、
func NewProfile(arr map[string]map[string]interface{}) *Profile {
var m MyProfile
var u YourProfile
return &Profile{
mine: m.SetProfile(arr[
0596デフォルトの名無しさん2016/06/11(土) 12:58:26.45 ID:5N4sydIU
>>594
ありがと
本当に助かりました
自分には浮かばない発想でした

しかし、一つ聞きたいのは、
func NewProfile(arr map[string]map[string]interface{}) *Profile {
var m MyProfile
var u YourProfile
return &Profile{
mine: m.SetProfile(arr['me']),
yours: u.SetProfile(arr['you']),
}
}
はダメなのに、なぜ
func NewProfile(arr map[string]map[string]interface{}) *Profile {
return &Profile{
mine: func() (m MyProfile) { m.SetProfile(arr['me']); return }(),
yours: func() (u YourProfile) { u.SetProfile(arr['you']); return }(),
}
}
は可能なのかな、と
SetProfile()自体が関数なのに、なぜわざわざ無名関数使って内包したSetProfile()を呼び出さないと上手くいかないんですかね?
0597デフォルトの名無しさん2016/06/11(土) 13:19:00.18 ID:ncrPm/bC
色々書き換えたバージョン
http://ideone.com/5rnnHW
0598デフォルトの名無しさん2016/06/11(土) 13:26:31.32 ID:ncrPm/bC
>>596

m.SetProfile(arr['me'])

この場合、副作用だけ(オブジェクトに値がセットされるだけ)なので、
return m とする(オブジェクトを返す)必要があるのです。

とは言うものの、SetProfile はメソッドではなく通常の関数でも良いのでは?
と思ったので http://ideone.com/5rnnHW ではそうしています。
0599デフォルトの名無しさん2016/06/11(土) 13:44:39.08 ID:5N4sydIU
>>598
なるほど、良く分かりました
別の方法も教えていただきありがとうございました
勉強になりました
0600デフォルトの名無しさん2016/06/11(土) 14:12:16.15 ID:JfIPVaDb
>>590
func NewHuman(name string, jobname string, position string) Human { return Human{ 〜
としても動くけど、これだと値渡しになって
h1 := NewHuman("Shinzou Abe", "politician", "prime minister") 呼んだときにも
中で1回コピー起こって無駄だから参照渡しにするってことでいいの?
0601デフォルトの名無しさん2016/06/11(土) 22:32:52.72 ID:oEY46iar
Javaで言う、ScannerのNextInt()みたいなのってGoには無いの?
bufioのText()しか調べても出てこないんだけど、これを型キャストしろってことなのかな?

scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
n := scanner.Text()
これをn.(int)って感じ?
0602デフォルトの名無しさん2016/06/11(土) 23:01:07.51 ID:oEY46iar
型キャストというより、ParseInt()だね、ごめん
0603デフォルトの名無しさん2016/06/17(金) 15:30:55.46 ID:De9+BeR4
出た。

プログラミング言語Go 
Alan A.A. Donovan, Brian W. Kernighan 著
柴田芳樹 訳     
発行元:丸善出版(株)
0604デフォルトの名無しさん2016/07/10(日) 22:27:22.81 ID:znpcZSb6
var t *time.Time = & time.Now()
とやると
cannot take the address of time.Now()
って出るんですけどなんでダメなのか教えて下さい
0605デフォルトの名無しさん2016/07/15(金) 07:53:12.02 ID:nL6yLCLX
>>604
t := time.Now()
0606デフォルトの名無しさん2016/07/15(金) 11:24:05.90 ID:tpc0LssI
t := & time.Time{}

ts := time.Now()
t := &ts
みたいにアドレスで変数に保管したいってことだろ

ttps://golang.org/ref/spec#Address_operators
言語仕様上、&演算子が変数か構造体(のコンストラクタ)しか認めてない感じ?
実態の持ち主が行方不明になる可能性があってGCが動かなくなるのかねぇ
0607デフォルトの名無しさん2016/07/17(日) 03:13:59.59 ID:rRft+gba
ポケモンGOとコラボしてGopher出してもらおうぜ
このビッグウェーブ、乗るしかない
0608デフォルトの名無しさん2016/07/17(日) 17:14:53.70 ID:Nge5kW2D
Gopher君がswiftするのか
0609デフォルトの名無しさん2016/07/18(月) 12:14:48.69 ID:nr1pGxnF
Golangius II 〜Gopherの野望〜
0610デフォルトの名無しさん2016/07/20(水) 00:44:12.39 ID:7krjkQOF
1.6.3が出てた
0611デフォルトの名無しさん2016/07/20(水) 21:59:45.12 ID:ZQpbH517
golang でWeb開発してる人にお聞きしたいんですけど
db周りってどうしてますか?
tableごとに構造体を用意した場合、単純に1tableをSELECTする分にはなんの問題もないんでしょうけど
joinしまくってた場合、各クエリごとに構造体を作ってる感じでしょうか?
そんなのだるいですよね。
どうしてるのか教えて下さい。
0612デフォルトの名無しさん2016/07/21(木) 18:53:09.50 ID:Vj/xPVWN
mongoDB
0613デフォルトの名無しさん2016/07/22(金) 08:29:35.69 ID:eNFBzZ6U
golangとかgo言語をスレのタイトルにしないとググりづらいな。
0614デフォルトの名無しさん2016/07/22(金) 13:59:08.89 ID:f6dSUOKk
pokemon Go Go
0615デフォルトの名無しさん2016/07/22(金) 14:02:04.61 ID:hQsD+JBa
Go の偽物出まくってるなω
0616デフォルトの名無しさん2016/07/23(土) 14:35:34.70 ID:6lYjBmg5
Ninjin Go
0617デフォルトの名無しさん2016/07/25(月) 01:34:14.20 ID:gKUS+J/f
(´・ω・`)スキーマを作るツールで構造体を更新してる
0618デフォルトの名無しさん2016/07/25(月) 09:12:05.48 ID:aFElPnA5
それってxoのことです?
SELECTの時はどうしてます?join禁止?
0619デフォルトの名無しさん2016/07/25(月) 09:19:11.89 ID:l5ht4z0Z
selectするカラムのサイズのインターフェース型の配列を作って渡すじゃだめなの?
0620デフォルトの名無しさん2016/07/25(月) 10:20:31.42 ID:RKFFw9Lx
コードをチェックするときに
gofmtとgolintを設定したんですが両方共エラーがあった時に同じエラーを吐きます
どっちか一つでチェックさせれば良いんでしょうか?
0621デフォルトの名無しさん2016/07/26(火) 12:09:28.79 ID:oKnTJYes
0622デフォルトの名無しさん2016/07/29(金) 12:02:23.83 ID:eVXiLh5P
github死んだらgoどうなってしまうん?
0623デフォルトの名無しさん2016/07/29(金) 16:21:55.80 ID:vOn8ke2v
進化して gone になるよ
0624デフォルトの名無しさん2016/08/03(水) 12:29:51.75 ID:48QXmcl+
この言語についてすこし気になっています。
例えばC言語のようにビット単位での操作などはできますか?
言い換えると、組み込みやOSカーネルのプログラミングなどは視野にあるのでしょうか?
またはC言語を完全に置き換える存在になりえますか?
0625デフォルトの名無しさん2016/08/03(水) 13:17:02.98 ID:mbys/AN5
goよりgithubの方が長生きするんでね
0626デフォルトの名無しさん2016/08/03(水) 13:18:36.00 ID:mbys/AN5
>>624
Windows用のDLLがc-sharedで作れるようになればなー
0627デフォルトの名無しさん2016/08/03(水) 23:48:20.25 ID:MhEWRRuh
>>624
gc前提の言語だからあり得ない。
選ぶとしたらrustとかじゃないかな
0628デフォルトの名無しさん2016/08/04(木) 01:10:59.73 ID:BIHJkeI+
GC前提っていうけど、objective-cやswiftみたいにARCでリソース解放してやることはできないのかな?
0629デフォルトの名無しさん2016/08/04(木) 11:14:28.20 ID:Ul5WpRfd
>>628
GCを切るというオプションはないと思う
そういう小回りを聞かせたいならrustとかC++を選ぶしかない。
0630デフォルトの名無しさん2016/08/04(木) 11:56:34.90 ID:8anV95gh
gokiburi
0631デフォルトの名無しさん2016/08/04(木) 11:58:01.10 ID:8anV95gh
OSだってそれ自身でGCやってるしなー
作業中にいきなり固まってHDDゴロゴロ言わせて
時計も止まってマウスも動かない
30分くらい放置してたら治ったり
0632デフォルトの名無しさん2016/08/04(木) 12:59:03.09 ID:SddwJFqD
GCはオプションではないようですね。
もうすこし調査が必要なようです。
ありがとうございました。
0633デフォルトの名無しさん2016/08/05(金) 10:46:10.99 ID:DVDTMi5M
>>631 それスワッピングだろ
0634デフォルトの名無しさん2016/08/05(金) 10:46:42.21 ID:DVDTMi5M
swappingをカタカナで書いたらあぼーんされた
0635デフォルトの名無しさん2016/08/05(金) 11:02:44.30 ID:h08emFzO
>>633
メモリが足りなくなった時にキャッシュを解放して、コンパクションを走らせてるという動きは似たようなもの、と
言いたかったんじゃね?
0636デフォルトの名無しさん2016/08/05(金) 13:39:10.50 ID:r9Q5JMfz
ちょっとだけスレ違いかもだけど
kindle unlimitedとかいう電子書籍読み放題プラン始まって
技術書みてたらgoの入門書1.6対応版みつけた。
ttps://www.amazon.co.jp/dp/B01FH3KRTI/ref=cm_sw_r_tw_dp_x_TwbPxbN1BHQKM

結構読みやすい。
0637デフォルトの名無しさん2016/08/06(土) 00:06:34.76 ID:ukQkptRq
IT関連は今のところ、ほぼその本出してる翔泳社だけかな?
アメリカの方探してみたけど、そっちはどこも参加してない気がする。
06386202016/08/06(土) 17:15:53.39 ID:TNYUaRVo
どなたかおねがいします
0639デフォルトの名無しさん2016/08/06(土) 22:25:22.14 ID:i/Otvl/9
Purpose
Golint differs from gofmt. Gofmt reformats Go source code, whereas golint prints out style mistakes.

https://github.com/golang/lint/blob/master/README.md

golintのreadmeでは、上のような説明になっていた。

こういう記事を参考にしてみるといいかも。
http://blog.amedama.jp/entry/2016/03/31/222050
0640デフォルトの名無しさん2016/08/24(水) 21:36:46.93 ID:JcWOBO6t
loopのネストが多いと、go1.7で遅くなるらしい
SSAの関係で。

ttp://shinpei.github.io/blog/2016/08/13/what-ssa-brings-to-go-17/

俺のプログラムも遅くなった。。。orz
0641デフォルトの名無しさん2016/09/18(日) 18:26:45.57 ID:5S/llOjA
Goの型システムが貧弱とかよくdisられるけど
ジェネリクスが無い以外はわりとイマドキな言語だと思う
interfaceは構造的部分型付けっぽいし
既存の型に別名付けて拡張出来るし
0642デフォルトの名無しさん2016/09/18(日) 21:51:09.47 ID:FLMBUfED
まともなラムダ式もmap関数もない言語がイマドキ?
0643デフォルトの名無しさん2016/09/18(日) 22:41:40.24 ID:20H6rWEl
RoRライクなGoのWebFWで軽量なものはどれでしょうか?
0644 ◆SEdFBOkLSw 2016/09/19(月) 01:20:18.20 ID:uQftjblX
イマドキではないな。
既視感あふれる感じ。
レシーバで関数書いていけるのが1番気持ちいい。気が狂ってからのLispみたい。
チャンネルは凄く楽だし。

>>641
ジェネリクス、あったら良いなと思うけど、無くても、型名にいちいち名前つけて、適当にインターフェイスに参加させていけば、割としっくりくるスライスになるよ。
0645デフォルトの名無しさん2016/09/19(月) 15:39:21.23 ID:yKbgweKY
>>643
golang railsでググったら適当に出てくるけど調べたの?
0646デフォルトの名無しさん2016/09/19(月) 16:25:57.74 ID:UScDXP8E
もちろん調べました。
revelとbeegoですね。
ただこれは重いらしいので、あと使用雑感とか日本人の意見を聞きたいのですが。
0647デフォルトの名無しさん2016/09/19(月) 18:10:05.55 ID:7Lx9kgsv
>>644
一応ジェネリクスは検討中ではあるんだよね。
結構あったらいいのにという場面はある。
それ以外は割といい感じ。エコシステムがいい。Editorも今や静的言語のメリットちゃんと享受できるし。
VSCいい。
0648デフォルトの名無しさん2016/09/19(月) 20:06:21.83 ID:6UZeJb4L
>>646
自分で使ってみればいいんじゃない
0649デフォルトの名無しさん2016/09/19(月) 20:43:34.00 ID:UScDXP8E
あ、このスレたってから3年もたってるんですね
サボって使用雑感なんて期待しちゃいけない感じか
しょうがないから自分で検証してみます
0650デフォルトの名無しさん2016/09/19(月) 23:21:43.10 ID:7Lx9kgsv
>>649
ここには大した有識者はいないと思う。
かと言ってどこにいるんだろうね?twitterに投げてみるとか
0651デフォルトの名無しさん2016/09/20(火) 00:29:26.51 ID:dodRqZqD
サービスやってるとこので聞くのは、LL言語のフルスタックフレームワークから、SPAと軽量なapiサーバーへの移行みたいなのが多いイメージが。
なのでrubyからだと、sinatraっぽくmiddleware分離したいとか、migrationツールは別に用意みたいな話の方が多いかも。

http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-go-and-saved-our-sanity/
https://www.slideshare.net/yujiotani16/gorevel-51949206
https://developers.eure.jp/go-language/advent-calender-7/
0652デフォルトの名無しさん2016/09/20(火) 13:57:24.92 ID:aC9BpWa+
ここまでGoogle社員の書き込み
0653デフォルトの名無しさん2016/09/21(水) 12:11:38.43 ID:cQpnCnIx
重いらしいじゃなくて何で自分で試さないの?
0654デフォルトの名無しさん2016/09/21(水) 12:36:40.08 ID:bQEJ8r3q
重いかどうかが問題になるレベルまで試すのは現実的に無理があるだろ
まあそもそもほとんどのアプリは使っている言語やフレームワークが重いかどうかが問題になる前に消えるわけだが
0655デフォルトの名無しさん2016/09/21(水) 13:18:40.11 ID:WoI1CsQe
どうせPとかRがつく言語からの乗り換えでしょ?
どれ使っても軽いって
0656デフォルトの名無しさん2016/09/21(水) 13:40:44.80 ID:K/wMuhbh
>何で自分で試さないの?
比較対象がわからないからだろ
0657デフォルトの名無しさん2016/09/21(水) 15:42:52.36 ID:DBqUEw9E
>>656
比較対象が何かわからないなら
awesome go とかで検索すればいいよ。
https://github.com/avelino/awesome-go#web-frameworks
アホみたいにフレームワークがあるけど
0658デフォルトの名無しさん2016/09/21(水) 16:03:39.59 ID:1PEot0Hq
ID変えて自演してるような気もするけど
ベンチマーク取れば重いかどうか数字で表せるよね
0659デフォルトの名無しさん2016/09/21(水) 16:57:31.37 ID:/5f1YfeX
枯れ木も山の賑わい
0660デフォルトの名無しさん2016/09/21(水) 18:46:11.33 ID:K/wMuhbh
>>657
そのリストじゃRails風かどうかまではわからないからな
それを調べるためだけに1個ずつインストールしてまで使う労力を求めてる不親切なコミュニティだわ
まあそれが日本でのGoのあり方なんだろうが
0661デフォルトの名無しさん2016/09/21(水) 20:55:56.41 ID:WoI1CsQe
キリッ
0662デフォルトの名無しさん2016/09/21(水) 21:15:31.01 ID:DBqUEw9E
>>660
readmeくらい読めばいいよ。
なにを参考にしたフレームワークくらいかはわかるでしょ
0663デフォルトの名無しさん2016/09/21(水) 23:06:50.01 ID:C/0XZtBi
ActiveRecordのつくり込みしてない実装は意外と面倒だったりするんだけど、goで使ったことないのでわからん。
クエリービルダーなら何かあるかも。
複数テーブル使うこともないので、今のところDBまわりは簡単にDTOみたいな実装で済ましてる。
0664デフォルトの名無しさん2016/09/22(木) 01:47:25.32 ID:QBrMY9aw
自分が欲しい物を他力本願で自分で調べない奴はプログラミングに向いてない
0665デフォルトの名無しさん2016/09/22(木) 02:57:18.49 ID:nr+L07o8
そうですか
0666デフォルトの名無しさん2016/09/22(木) 08:30:29.12 ID:hF82WAHq
うむ
0667デフォルトの名無しさん2016/09/22(木) 10:18:25.14 ID:7A/wc93b
railsみたいなのがいいならrails使っとけばいいだろ?
なんでgolang使おうと思ってるの?
0668デフォルトの名無しさん2016/09/22(木) 11:10:54.24 ID:y4xL8ywB
Goは基本的にCなので、ゼロから作りこむような複雑な処理がそのまま移植できる。
Rubyだと、extensionをCで書かないといけなくなる。
0669デフォルトの名無しさん2016/09/22(木) 11:24:25.38 ID:sBPmoePF
goでDB扱おうとすると動的言語のほうが楽だと痛感するけどね
単純なテーブルに対するcrudなら構造体作って対応できるけど
joinしたりとかすることも考慮するとそうも行かない。
素直にrailsでいいんじゃね
0670 ◆SEdFBOkLSw 2016/09/22(木) 13:36:58.94 ID:3pIcfs21
ORM使うからじゃないの?
JOINして使う結果とJOINせず単独で使う結果はそれぞれ別の構造体になってしかるべきな気がする。
あんまRDB使わないけど。
集合検索結合集計なシステムと手続き型とオブジェクト型と関数型、どれ同士を組み合わせても、インピーダンスミスマッチは仕方ないんだから、どっちかで歩み寄らなきゃ何ともならんような。

階層型とばっかり組み合わせてるけど、言語側はわりと世代交代早いからDB側でストアド書いてるわ。
0671デフォルトの名無しさん2016/09/22(木) 15:05:14.76 ID:Ob4qBdWH
時代はとっくにKVSですが
0672デフォルトの名無しさん2016/09/22(木) 15:18:49.00 ID:W5CYuFDy
KVSとRDBじゃ微妙に用途違うじゃん
0673デフォルトの名無しさん2016/09/22(木) 15:19:40.46 ID:sug0rqOR
mvcではなくrails的なもので高速という話なら、goで探すよりphoenix framework/elixerみたいなのを先に触った方がいいのでは。
0674デフォルトの名無しさん2016/09/22(木) 15:29:49.16 ID:nr+L07o8
検索系ならRDB一択やろKVSでも実装はできるけどめんどくさすぎ
0675デフォルトの名無しさん2016/09/22(木) 15:32:16.50 ID:sBPmoePF
RDBからKVSに行ってやっぱRDBがいいやと言う流れじゃないの?
mongodbとか使ってるやついるのか今
0676デフォルトの名無しさん2016/09/22(木) 21:41:56.84 ID:sBPmoePF
>>670
結局ビジネスロジックをどっち側に寄せるかという話になるんだろうけど
ストアドプロシージャは素朴なコードしかかけないから抽象化しづらいと思うんだけど
書いたことがないから想像でしかないけど。

でもgolangの場合は抽象化しきれないからストアドプロシージャ側にロジックを寄せて実装はありなのかもしれない
0677デフォルトの名無しさん2016/09/22(木) 22:16:03.79 ID:243X6jbN
クロスコンパイルとかでpure goにしたければ、KVSしかない。
0678デフォルトの名無しさん2016/09/22(木) 22:24:25.35 ID:7A/wc93b
phoenixも速いよ
pingだけだったらレスポンスμsで返ってくるよ
0679デフォルトの名無しさん2016/09/22(木) 23:18:15.37 ID:P28LZX5F
>>677
イミフ
Pure Goなdatabase/sqlのドライバは沢山あるがな
0680デフォルトの名無しさん2016/09/23(金) 11:19:01.19 ID:iqtk0HU6
>>679
多分だけどpureGoでkvs側もgo製のをつかってkvsも含めてワンバイナリにしたいってことなんじゃない?boltとか
0681デフォルトの名無しさん2016/09/23(金) 14:15:45.15 ID:Pu19XfH5
>>676
割と書けるよ。ただ、パワーバランスにもよるけど。
番号発行を伴う複数の関連するデータの保存や削除なんかはDBに任せた方が良い場合もそこそこある。
テキトーにORMで雑然と入れがちだけど、根本的にオブジェクトと行が一対一にならなければ、一対一の操作やらビューを用意すべきだと思う。
0682デフォルトの名無しさん2016/09/24(土) 11:16:44.44 ID:oYgGfkv1
>>675
人気はそこそこある模様
http://db-engines.com/en/ranking
0683デフォルトの名無しさん2016/09/24(土) 17:55:17.45 ID:cuT9UNDj
慣れてるしmongodb使ってるよ
sqliteのほうがよく使ってるけど
0684デフォルトの名無しさん2016/10/04(火) 16:24:32.16 ID:m5Lh6Epv
>>541
70過ぎで新しい言語覚えるとか凡人には無理そうw


Brian Kernighanがプログラミング言語Goの組版に使ったのはなんとtroff
https://cpplover.blogspot.jp/2016/04/brian-kernighangotroff.html?m=1
0685デフォルトの名無しさん2016/10/04(火) 16:39:32.48 ID:ZPmHgmj0
>L&RのKであり

冒頭からアホ丸出し
0686デフォルトの名無しさん2016/11/02(水) 12:09:01.86 ID:txovE4qH
Go言語のゆるキャラ何だよあれ。
ゆるキャラのデザインは言語の普及率に無関係じゃないと思うぜ。
0687デフォルトの名無しさん2016/11/02(水) 12:42:22.12 ID:pD2pdTer
俺もあのキャラで食わず嫌いしてた
今でも見るたびにぶん殴りたくなる
0688デフォルトの名無しさん2016/11/02(水) 13:02:39.06 ID:yVmWsAjP
世間的にはかわいいんだろう、およねこぶーにゃん
0689デフォルトの名無しさん2016/11/02(水) 13:24:03.26 ID:/PKnCRlb
どうでもいい
0690デフォルトの名無しさん2016/11/02(水) 16:47:06.78 ID:db1quxwb
およねこぶーにゃん 似てるな
0691デフォルトの名無しさん2016/11/02(水) 17:40:08.31 ID:NdsHEbPc
およよ
0692デフォルトの名無しさん2016/11/02(水) 19:52:12.13 ID:9MvPcR4P
Youtubeでgopherを検索すると駆除動画が大量にひっかかるから気をつけろ
0693デフォルトの名無しさん2016/11/02(水) 21:02:05.36 ID:9HL1sB1G
ゆっくりみたいになってんの?
0694デフォルトの名無しさん2016/11/03(木) 00:22:20.82 ID:94UsH5fp
どう足掻いてもキモい(かわいい)
1番上の2001年ごろの本にもいるね。
http://glenda.cat-v.org/friends/
0695デフォルトの名無しさん2016/11/03(木) 03:39:13.40 ID:iYejUQc8
80年代からいるはず
0696デフォルトの名無しさん2016/11/04(金) 20:23:44.63 ID:m0/gbw+8
golangでググるとgolang-jp.orgが一番上にヒットするけど
これは公式で認められたサイト?
0697デフォルトの名無しさん2016/11/06(日) 23:12:50.69 ID:NZCpJm/D
非公式だろ
ライセンス的には著作権表示さえしてれば問題ないことになってる
でも日本語じゃなきゃダメって人にはGoはお勧めしない
0698デフォルトの名無しさん2016/11/08(火) 13:10:36.86 ID:afLUgDEA
別に日本語の情報も出揃い始めてるし
日本語onlyの人でもそろそろ使えると思う。
でもgolang-jpってコミュニティの中心に近い人が運用している感じがしないのが不安
0699デフォルトの名無しさん2016/11/08(火) 13:11:45.51 ID:afLUgDEA
>>698
http://golang.jp/ と勘違い。すまぬ
0700デフォルトの名無しさん2016/11/18(金) 18:19:10.73 ID:0j66y/nm
日本語じゃなきゃダメって人はなでしこ以外選択肢ないんじゃね
Go言語という日本語以外の言語を扱おうとする時点でオワットル
0701デフォルトの名無しさん2016/11/18(金) 19:29:14.49 ID:e+81aozX
織田信長
0702デフォルトの名無しさん2016/11/21(月) 15:48:15.04 ID:lyJfcZnk
ぴゅう太探してこなきゃっ><
0703デフォルトの名無しさん2016/11/22(火) 10:24:50.70 ID:uKd48bt3
日本語でググったり質問したり出来なきゃ使い物にならん
ってのは別におかしくない

最低限のマニュアルやエラーメッセージすら読まないレベルなら排除すべき
0704デフォルトの名無しさん2016/12/21(水) 09:11:00.18 ID:rs5TCfU6
ウイルススキャンで go1.7.4.windows-386.zip の go/pkg/tool/windows_386/trace.exe が Trojan:Win32/Skeeyah.A!rfn と判定されたんですけど、語検出だと思いますか?
0705デフォルトの名無しさん2016/12/21(水) 12:34:37.87 ID:UOM+5F1I
ウイルススキャンに何て名前のソフト使ってんだよ

自分の行動を明確にしないと、有用かも知れない情報であっても風説の流布と同じ扱いにされる事に早く気づけよ
0706デフォルトの名無しさん2016/12/21(水) 12:42:31.87 ID:YBja8gxe
VirusTotalにでも投げてどうぞ
0707デフォルトの名無しさん2016/12/21(水) 16:22:35.54 ID:rs5TCfU6
>>705
MSEです
指摘ありがとう
今後気を付けます


>>706
そこで試してみます
ありがとう
0708デフォルトの名無しさん2016/12/22(木) 04:50:05.52 ID:jVrDGj21
>>705-706
結果を報告します
ダウンロードしたgo1.7.4.windows-386.zipのSHA256のハッシュはサイト上のものと一致しました
zipを展開しtrace.exeだけをVirusTotalにアップロードしました
ウィルススキャン56個中13個がTrojan判定したみたいです、多数決という考え方でいえば誤検知だったのだと思われます

https://www.virustotal.com/ja/file/cd4b6551da15d172a61f4cefcbba77c0fde1932fee9ab0879cb1cf126a5d39fd/analysis/1482349209/
0709デフォルトの名無しさん2016/12/22(木) 11:20:58.30 ID:yrFazDqV
go1.8リリース予定日を教えて
0710デフォルトの名無しさん2016/12/24(土) 07:00:03.75 ID:Y/bvEAMg
0711デフォルトの名無しさん2016/12/24(土) 07:36:38.25 ID:Y/bvEAMg
https://play.golang.org/p/WtVTVEMr2-

どうもうまく作れねえ
0712デフォルトの名無しさん2016/12/24(土) 10:57:29.42 ID:I9wFmGZn
>>710
interface{} 使うとか(場合によって type assertion が必要だけど)

https://play.golang.org/p/Pc7VnMBcYA
0713デフォルトの名無しさん2016/12/24(土) 15:25:12.26 ID:Y/bvEAMg
>>712
これいいね
ありがとう
0714デフォルトの名無しさん2016/12/25(日) 16:55:37.58 ID:MSs3MIcU
>>708
そのリンク先の「最新を表示」をクリックすると、56個中24個に増えるね。
誤検出なら減っても良さそうな気がするが……。
0715デフォルトの名無しさん2016/12/25(日) 18:22:44.28 ID:2u3ictDv
goglandどうですか
0716デフォルトの名無しさん2016/12/26(月) 01:08:57.47 ID:t1RDiD7h
>>714
32bitWindows版だけの問題なら被害はそう多くなさそうだし大丈夫じゃね
0717デフォルトの名無しさん2016/12/27(火) 15:50:30.60 ID:z3Z5XFyz
>>714
さらに増えてる…
0718デフォルトの名無しさん2016/12/29(木) 05:47:14.37 ID:958/OC8Q
0719デフォルトの名無しさん2017/01/03(火) 01:16:19.18 ID:HKX7d2sm
デフォのパッケージのソースコードを見てるとBSDライセンスになってるけど
デフォのパッケージを使う場合はそれらのBSDライセンスというのを記述しなきゃだめ?

https://golang.org/pkg/builtin/
https://golang.org/src/builtin/builtin.go
https://golang.org/LICENSE
0720デフォルトの名無しさん2017/01/03(火) 01:22:49.11 ID:HKX7d2sm
https://speakerdeck.com/nabeken/go-and-license
これ読んだ感じだとgoで作った物にはgo言語のライセンス文等を含める必要があるっぽい?
0721デフォルトの名無しさん2017/01/11(水) 19:06:49.30 ID:AM+tjFEn
歌舞伎座.tech#13「Elixir 勉強会」
2017/01/11(水) 開場:18:57 開演:19:00  ニコニコ生放送
lv286846512
0722デフォルトの名無しさん2017/01/16(月) 23:40:33.28 ID:/8hm5iax
内部関数の再帰呼び出しって可能?
yコンビネータとかでなく
0723デフォルトの名無しさん2017/01/16(月) 23:50:33.98 ID:/8hm5iax
>>722
varで宣言してから関数定義したらいけました
お騒がせしました
0724デフォルトの名無しさん2017/01/18(水) 21:03:54.63 ID:xMB+Qmdf
>721
webサーバーや常駐プロセスならelixir、システム系やバイナリならcrystalかな。
golangはどちらも増えてきたな。
0725デフォルトの名無しさん2017/01/20(金) 14:22:52.01 ID:uizqycjV
list = [["a",1],["b",2],["c",3],["d",4],["e",5]]

こんな配列を作りたいのですが

pythonだったら
list = []
list.append(["a",1])
list.append(["b",2])
とすればできるのですが
GOではどうやればいいのでしょうか?
0726デフォルトの名無しさん2017/01/20(金) 15:24:48.94 ID:PlXLSX3f
[]interface{} を使えば何とかなるけど…

https://play.golang.org/p/pq1Pwe0V4z

map[string]int か []struct を使う方がいいと思う
07277252017/01/20(金) 17:00:33.53 ID:uizqycjV
>>726
どうもありがとうございます。
map[string]int か []structも調べてみます。
0728sage2017/01/22(日) 00:26:49.27 ID:JSjE+wfT
流行りの機能あんまり無いし使い辛そうと思ってたが
書いてみるとしっくりくるな、良く出来てる
0729デフォルトの名無しさん2017/01/22(日) 01:48:56.85 ID:EXKusZK8
流行りの機能を実装するのに流行りの機能を使ったかどうか考えたら自明よだよ。
クリスマスツリーの飾りか、彼らが本気で必要だと言うなら自転車の補助輪みたいなもの。
0730デフォルトの名無しさん2017/01/22(日) 13:18:59.29 ID:lyHWqZIh
よだ
よだ
0731デフォルトの名無しさん2017/01/22(日) 14:39:27.82 ID:hBhrTyQG
0732デフォルトの名無しさん2017/01/22(日) 20:41:03.32 ID:oEaDlbYA
>>730
すまん。予測変換に引きずられた
0733デフォルトの名無しさん2017/01/24(火) 23:06:50.70 ID:c6xhurTC
>>729
> 流行りの機能を実装するのに流行りの機能を使ったかどうか考えたら自明よだよ。
これ停止条件どこですかね、天地創造?
0734デフォルトの名無しさん2017/01/25(水) 09:47:48.89 ID:QApusiWr
「CコンパイラはC言語で書かれている」みたいなことを言いたかったんじゃないかとエスパーしてみる。
0735デフォルトの名無しさん2017/01/25(水) 10:44:53.45 ID:JgDNrEDV
>>733
停止条件は、流行りの機能を使わない形での流行りの機能の実装、だろうね。
流行りの機能と言うから話がややこしくなるが、
ハンダゴテ作るのに、ハンダゴテ使って半田付けする必要があるのは、手順として間違ってるって事。
1.5より前のGoをコンパイルして、Go1.5でそれ以降をコンパイルするようなもん。
0736デフォルトの名無しさん2017/01/25(水) 11:14:48.01 ID:5tC4lyU9
gccのコンパイル手順を初めて聞いたときのこと思い出したわ
0737デフォルトの名無しさん2017/01/25(水) 14:24:01.33 ID:3mED4Rlj
depの使い方を教えてください
0738デフォルトの名無しさん2017/02/01(水) 17:37:29.24 ID:+X2jALUV
あの、golangでwebサイトを作る場合って
作った数だけ
go run hogehoge1&
go run hogehoge2&
go run hogehoge3&
こんな感じで裏で実行させておくんでしょうか?
0739デフォルトの名無しさん2017/02/01(水) 22:01:17.22 ID:5RUfbCqK
1アプリ1サイトって意味ならあってる
0740デフォルトの名無しさん2017/02/02(木) 11:20:33.63 ID:nnsBzBvb
goアプリのデーモン化ってデファクトスタンダードそろそろ出た?
supervisor使うのが一番ラクかな未だに
0741デフォルトの名無しさん2017/02/17(金) 10:38:39.08 ID:w6Mwd8Yg
Go 1.8です
LinuxでGOROOTを設定する理由はこれで合ってますか?

・/usr/local/go以外の場所にインストールする場合。例えば~/local/goとか。
・異なるバージョンのgoをインストールするとき。GOROOTを切り替えることでバージョンの異なるgoを切り替えられるから。

あとGOPATHはデフォルトだと~/goを使いますよね。
1つのgoしか使わない場合とか、異なるバージョンのgoで~/goを共有するならGOPATHの設定しなくてもいいですか?
0742デフォルトの名無しさん2017/02/17(金) 16:12:14.19 ID:yGnzX63H
はい
0743デフォルトの名無しさん2017/02/17(金) 19:02:09.98 ID:W71R9C1F
n := 1.0
fmt.Printf("%f\n", n) // 1.000000
fmt.Println(n) // 1

1番目の出力、何で1.0じゃなくて1.000000なんですか?
2番目の出力、何で1.0じゃなくて1なんですか?
0744片山博文MZ ◆T6xkBnTXz7B0 2017/02/17(金) 19:42:06.34 ID:MbV+Py5H
>>743
コンピュータでは数値は内部表現で表されている。内部表現では10.0も10.00も同じデータだ。
その数値の内部表現に対してPrintf,Printlnがその形式で出力するように設計されているから。
もし好きな形式で出力したいならPrintfの書式を調べればよい。
0745デフォルトの名無しさん2017/02/18(土) 01:11:54.03 ID:pMCaQLyx
そういうものなのかわかりました
0746デフォルトの名無しさん2017/02/18(土) 01:30:30.49 ID:AobYyoSr
>>741
【Go】結局、$GOPATHと$GOROOTはどこに設定すればいいの?
https://teratail.com/questions/41746

「go gopath goroot」で検索!
0747デフォルトの名無しさん2017/02/18(土) 17:55:40.13 ID:OtEeuMsz
go get -u hogehoge/hoge/hoge
だとbinにコマンドが入らなくて
go get -u hogehoge/hoge/hoge...
だと入るんですが
...ってなんですか?
0748デフォルトの名無しさん2017/02/18(土) 18:32:44.27 ID:HTn/aT5C
version1.8が出たらしいね
>>704-708の問題はどうなったんだろ?
0749デフォルトの名無しさん2017/02/19(日) 00:40:55.67 ID:rxEXn9HF
>>747
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
0750デフォルトの名無しさん2017/02/19(日) 11:12:55.70 ID:hWiEfeI5
>>749
先輩ありがとうございます
0751デフォルトの名無しさん2017/02/21(火) 00:38:10.56 ID:gQJwpX7p
これ実行すると1と表示されますが
var i []int
if i == nil {
fmt.Println(1)
}

これだと1が表示されません
i := []int{}
if i == nil {
fmt.Println(1)
}

var i []intを:=バージョンで宣言したいんですがどうやって書くんでしょうか?
0752デフォルトの名無しさん2017/02/21(火) 01:20:47.27 ID:D3dspysh
i := []int(nil) とか
0753デフォルトの名無しさん2017/02/21(火) 10:55:35.63 ID:1k6xy1Ha
>>752
(nil)って書き方初めて知りましたありがとうございます
0754デフォルトの名無しさん2017/02/21(火) 22:11:48.42 ID:3rYbm5Zu
単なるキャストでしょ
0755デフォルトの名無しさん2017/03/01(水) 05:34:18.30 ID:eGDA14QM
http://hanabi.2ch.net/test/read.cgi/hikky/1480625781/874

↑これは本当にGo言語の問題点なのですか?
0756デフォルトの名無しさん2017/03/02(木) 10:36:42.56 ID:TnPaXq7u
Goってエンコード/デコード処理って標準で入って無いのな
読み込んだShift-jisデータが文字化けしててさ、デコードどうすんだろうって
調べたらstringsメソッドにも無いし標準パッケージにも無くて、
えっ?えっ?って困惑しながら調べてたら外部パッケージ使うんだってね

ええ?エンコード/デコードなんて標準で入ってて当たり前じゃん、どうなんてんのよとブツブツ言いながら
佐和子は外部パッケージの使用例を見てみるのであった・・
佐和子はまた驚いた「なにコレ・・デコードするだけで何でこんなに書かないといけないの!?」
Pythonを少しかじっている佐和子にとってデコードはhoge.decode('utf-8')という退屈な一行なのであった
佐和子は涙した、「あたし、Go無理かも・・なんて面倒なの・・グスン」悲しむ感情とは裏腹に
股間も濡れていることにまだ気づかない佐和子なのであった
0757デフォルトの名無しさん2017/03/02(木) 11:09:11.50 ID:nru5cJzG
c++より面倒?
0758デフォルトの名無しさん2017/03/02(木) 15:50:33.79 ID:u/9aEmwY
>>755
warningは消せるんじゃなかったけ?
0759デフォルトの名無しさん2017/03/02(木) 16:29:39.78 ID:X4z0kGE4
やる気がないgolang.jpとgolang-jp.orgは今すぐサーバをシャットダウンさせるべき
個人で翻訳し綴られるわけないのに
やるならオープンな場で活動するべき
0760デフォルトの名無しさん2017/03/02(木) 17:06:55.36 ID:jHvj97KG
>>755
単なるマヌケだろこれは…

https://play.golang.org/p/xPih-HNli3
0761デフォルトの名無しさん2017/03/05(日) 22:36:40.86 ID:S4MzRoP3
rubyのbundleみたいにプロジェクトごとにパッケージを使いたいので公式っぽいdepを使おうと思いました
何か自分がこれから書くソースコードもGOPATH以下のsrcに書かないといけないようなんですが
これってdepを使うからこういう決まりってわけではなくgolangだからこういう決まりになってるんでしょうか?
0762デフォルトの名無しさん2017/03/05(日) 22:46:59.76 ID:Y02SgW6x
そうだよ
0763デフォルトの名無しさん2017/03/05(日) 23:04:39.65 ID:ifu98e8m
慣れる迄苛つく仕様
0764デフォルトの名無しさん2017/03/06(月) 00:27:53.52 ID:8ia6O09M
なんだよglideがデファクトかと思ってたのに公式から出たんか。
0765デフォルトの名無しさん2017/03/09(木) 09:56:41.81 ID:06AYmq+V
rubyの配列や文字列、正規の色々細々便利関数みたいな、JSのアンダスコアみたいな
そういう汎用ライブラリ(か自前関数)はGo言語は持っているのでしょうか
0766デフォルトの名無しさん2017/03/09(木) 14:47:10.65 ID:EWO17/eW
JSのアンダスコアみたいなやつはあるな
https://github.com/ahl5esoft/golang-underscore
0767デフォルトの名無しさん2017/03/09(木) 21:39:53.64 ID:JwhapCIX
>>766
interface{}型多用しまくりでまるで動的言語のようだ。
0768デフォルトの名無しさん2017/03/09(木) 22:11:04.55 ID:8UcOpz+6
exampleをざっと見る分には要所々々で型明記してて普通の静的型に見える
0769デフォルトの名無しさん2017/03/11(土) 03:11:21.73 ID:ptLt8H3Q
←chan:受信専用
chan←:送信専用

これ何でや?逆の方がしっくりくるやろ・・・
0770デフォルトの名無しさん2017/03/11(土) 07:32:20.09 ID:2HZNdoI4
2000年代初期に

変数名: 型

より

型 変数名

の方がしっくりくるだろ、、、って言ってたの同じじゃね

偉い人は人間工学的に良いって言って、凡人は慣れたら前者が無条件に良く見える
慣れない老害はワカモノにバカにされるといいよ
0771デフォルトの名無しさん2017/03/11(土) 08:24:56.74 ID:3yr+jwLv
英語圏では常に自分が中心の個人主義故に主語は大抵自分自身になるわけ
つまり←chanというのは、「チャネルから私へ」となり受信
同様にchan←というのは、「私からチャネルへ」となり送信

という完璧な回答を佐和子はニヤニヤしながら書いたのであった
0772デフォルトの名無しさん2017/03/11(土) 08:52:31.22 ID:50ajbFL2
variant (as) Type
みたいなのじゃないの?
パスカルもそうだし、あながち新しいもの独特って訳でもない
0773デフォルトの名無しさん2017/03/11(土) 08:57:14.88 ID:3yr+jwLv
>>771の訂正と補足
うーん、主語というか、とにかく「私」が隠れてるんや! 英語圏は私!私!の文化やねんから!
日本では子供に合わせてパパは妻の事をママっていうねん、視点子供に変わったりするねん
でも英語圏ではそんなことないねんって、視点は常に自分自身やねんって

チャネルが送ってる先は「私」やねん ←chan だから受信やねん
チェネルに送ってるのは「私」やねん chan← だから送信やねん
0774デフォルトの名無しさん2017/03/11(土) 09:48:49.71 ID:ptLt8H3Q
>>773
この説明でしっくりきましたわ
向こうの人は自分視点が徹底しとるんやなー
サンクスやで!
0775デフォルトの名無しさん2017/03/20(月) 11:51:19.13 ID:c2kV274u
「Go言語による Webアプリケーション開発」やってる奴は下のリンク読んどけ
めちゃ助かったわ

http://matsnow.hatenablog.com/entry/golang/nsq
0776デフォルトの名無しさん2017/03/20(月) 15:12:26.30 ID:CYCZfEEr
グロ中尉
0777デフォルトの名無しさん2017/03/20(月) 18:59:16.35 ID:c2kV274u
グロじゃねえよ、やめろやw
タイトルも書くべきだったな

nsqdが「dial tcp: i/o timeout」を返してくる場合の対処法
http://matsnow.hatenablog.com/entry/golang/nsq
0778デフォルトの名無しさん2017/03/21(火) 23:10:22.44 ID:uzSvvu2S
公式のサイト見て驚いたけどUnicode文字の例として日本語が使われてるのな、なんか意外だ
0779デフォルトの名無しさん2017/03/22(水) 00:13:24.31 ID:9PE4AFjh
https://play.golang.org/p/FoAcpJwOTh

appendでの容量の増え方に何か法則があるのでしょうか?(2倍にされる場合もあってちょっと怖いです)
0780デフォルトの名無しさん2017/03/22(水) 02:19:25.41 ID:ws4VFpo4
0781デフォルトの名無しさん2017/03/22(水) 03:56:14.98 ID:9PE4AFjh
>>780
d
1024以下は2倍でそれ以外は1.25倍で増やしてくのか
0782デフォルトの名無しさん2017/03/23(木) 11:40:09.39 ID:AyyVp0Pm
>>778
なんで意外なん?
中国語や韓国語が使われてないと困るのか?
0783デフォルトの名無しさん2017/03/23(木) 13:15:39.80 ID:U7xuC5Fy
言語選択のアイコンが[aあ]になってるサイトもあったな。
選択肢には日本語なかったけど。
0784デフォルトの名無しさん2017/03/23(木) 16:14:28.11 ID:9ddE+onE
SwiftのApple公式チュートリアルページのUnicode絵文字サンプルは寿司
中国、韓国は頑張れ
0785デフォルトの名無しさん2017/03/23(木) 17:51:06.97 ID:9n/hT6SR
JavaのAPIドキュメントは日本語版が用意されてくらいだから
世界のIT業界にとって日本は大事な顧客様なのだろう
0786デフォルトの名無しさん2017/03/23(木) 17:59:17.93 ID:h9aQztqc
奥方
0787デフォルトの名無しさん2017/03/23(木) 19:38:53.40 ID:fky8z8fA
日本のIT業界ってマイクロソフトに固執してるイメージあるからじゃないか。
アンドロイドのIMEは中華製って感じがする。
0788デフォルトの名無しさん2017/03/24(金) 19:16:22.29 ID:213lDDdv
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(多分最新版)
各種ツール(最新版)

です。
色々調べたけど正直お手上げなので、誰か解決方法を知ってたら教えてください…
0789デフォルトの名無しさん2017/03/24(金) 22:53:28.10 ID:frT9Zhqz
なんでその質問をこのスレでしようと思った?
0790デフォルトの名無しさん2017/03/24(金) 23:05:17.09 ID:frT9Zhqz
Issueに投げればよかろう

Issues ・ Microsoft/vscode-go ・ GitHub
https://github.com/Microsoft/vscode-go/issues
0791デフォルトの名無しさん2017/03/25(土) 01:06:24.19 ID:SfvzpHLw
英語苦手なのと、この板とソフトウェア板にVScodeスレが見当たらなかったからです

あと、似た症状を起こした人が居たらしく、どうもそのissueを読む限りgocodeのautobuildが原因じゃないかと言われていたので試してみたり、vscodeのsetting.jsonの設定を変えてみたりしたのですが、結果は改善しませんでした…
ttps://github.com/Microsoft/vscode-go/issues/696

このスレにこの症状についてわかる方が居ないようでしたら…意を決して聞くつもりです
0792デフォルトの名無しさん2017/03/25(土) 01:19:00.29 ID:afr6k6dQ
変な奴だな…
0793デフォルトの名無しさん2017/03/25(土) 01:45:52.76 ID:jvvW/9ia
>>791
gocode close
go get -u github.com/nsf/gocode

上記二行を実行してみてもだめ?
0794デフォルトの名無しさん2017/03/25(土) 03:04:54.19 ID:axug6RQN
VSCodeスレが無いだとお!?

MacでもLinuxでも使えるVisual Studio Code [転載禁止]c2ch.net
http://echo.2ch.net/test/read.cgi/tech/1430403713/l50
0795デフォルトの名無しさん2017/03/25(土) 11:16:08.90 ID:Kt/vjrdl
今日は合コンあるらしいねいかないけど
0796デフォルトの名無しさん2017/03/25(土) 15:10:30.58 ID:SfvzpHLw
>>793
ちょくちょくcloseを実行してアップデートを繰り返してみましたがだめでした…

>>794
あ…すみません…あったんですね…


あの後、色々試した結果
自動保存を切るとどうやら調子が良くなるみたいです
go fmt相当の機能が自動保存を付けているとかなりの頻度で実行され、それがコードを書くのを妨害していると思われます
自動保存なんてオプションを興味本位でONにしていたのが行けなかったのだと思います…
コードが書き終わった後にctr+sで手動で保存するようにすればなんとか使えるようになりました

ご協力ありがとうございましたm(_ _)m
0797デフォルトの名無しさん2017/03/25(土) 15:11:17.55 ID:5MnOmzEx
合唱コンクール
0798デフォルトの名無しさん2017/03/25(土) 19:04:15.43 ID:axug6RQN
自己解決したからってIssueに投げなくていいわけじゃないぞ
ちゃんとIssueでバグ報告しとかないと
0799デフォルトの名無しさん2017/03/26(日) 19:10:59.69 ID:24iyyPay
PycharmでGoを書く
0800デフォルトの名無しさん2017/03/27(月) 09:00:52.72 ID:Bf4pJlD+
jetbrainから出るやつっていつなん?
0801デフォルトの名無しさん2017/03/27(月) 11:33:39.92 ID:p7pVTGV7
>>800
でてるっちゃでてるじゃん
https://www.jetbrains.com/go/download/
0802デフォルトの名無しさん2017/03/28(火) 11:29:46.98 ID:XYMZoduR
>>715
で反応ないってことは使っている人居ない感じ?
どれで書いて勉強すればいいのかなぁーって
0803デフォルトの名無しさん2017/03/28(火) 15:18:18.42 ID:9WCU6g+e
使ってないですねえ
0804デフォルトの名無しさん2017/03/28(火) 15:22:57.29 ID:9WCU6g+e
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/
0805デフォルトの名無しさん2017/03/28(火) 15:47:02.89 ID:XYMZoduR
人柱向けなので、人柱が居ないか聞いてみたんだと思う……
それまでのプラグインよりも良いという「らしい」から
0806デフォルトの名無しさん2017/03/28(火) 22:29:12.89 ID:OFHPA2bL
AtomよりVScode
VScodeよりSublime
SublimeよりPycharm

Goglandはよ完成させんか!
0807デフォルトの名無しさん2017/03/28(火) 23:47:54.70 ID:wrx/BE3m
言語ごとにエディタ変えるよりオールインワンがいいねん
0808デフォルトの名無しさん2017/03/29(水) 03:12:59.73 ID:oF0yWN/4
gogland試してる。
pluginの頃から既に実用レベルだったから、完成度は高いと思う。
debuggerとかで変数を確認しながら開発できるみたい。
https://www.jetbrains.com/go/features/
jetbrainsのideに慣れてれば使ってみると良いよ。
0809デフォルトの名無しさん2017/03/29(水) 11:37:06.05 ID:e2+Szx9c
いまのところ、エディタ+実行環境ぐらいしか使ってないので、
Ideaのプラグインの頃との違いがあまり分かってない。
liteideもそのぐらいしか使ってなかたったけど。
0810デフォルトの名無しさん2017/03/29(水) 11:45:26.94 ID:UMeevNqB
>>807
vimとemacsが仲間にして欲しそうにこちらを見ている

言語ごとの文法に慣れたら、言語ごとのIDE/エディタも慣れると思ってた時期が俺にもありました
環境は変わるとホント辛いよね
0811デフォルトの名無しさん2017/03/29(水) 12:34:20.39 ID:4wfKDbDZ
VisualStudioCodeが便利すぎて正直Go専用にIDE環境使おうとは思わんな。
0812デフォルトの名無しさん2017/03/29(水) 17:31:20.16 ID:mPpJrWfj
Goglandで良いならLiteIDEで良いじゃん
0813デフォルトの名無しさん2017/03/30(木) 18:14:38.97 ID:tZ7gdWKd
LiteIDEってGoで書かれているわけじゃないんだね。
ずっとGoで書かれているんだと思ってた。。。
0814デフォルトの名無しさん2017/03/30(木) 20:28:14.36 ID:Ya8jf9nB
>>813
Goで書かれていると言えばMicro。
でもプラグインはluaだという
0815デフォルトの名無しさん2017/04/20(木) 02:41:38.17 ID:pSoU+zvg
Google公式でaptパッケージをメンテしてほしい
今あるのはバージョンが古いし
0816デフォルトの名無しさん2017/04/20(木) 14:57:33.39 ID:T7Zz78Cb
>>815
つ anyenv
0817デフォルトの名無しさん2017/04/20(木) 23:41:12.94 ID:Yuw+ZMQt
goenvでもいいしね
0818デフォルトの名無しさん2017/04/21(金) 23:13:42.55 ID:DOzdPvj8
rubyのbundleかpythonのvenvみたいなのが欲しい
depはいちいちプロジェクト毎にGOPATHを書き換えないといけないからだるい
0819デフォルトの名無しさん2017/04/22(土) 12:36:33.90 ID:XOGXVxf4
そのためのDockerですよ
0820デフォルトの名無しさん2017/04/22(土) 16:47:25.97 ID:b6kRyspV
>>818
glideじゃだめなん?
0821デフォルトの名無しさん2017/04/24(月) 16:03:49.72 ID:Ce/YXV/H
go-opencvってどうなの
結局cgo使うことになる?
新着レスの表示
レスを投稿する