Go language part 1

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2013/10/10(木) 12:04:51.78
Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。
2014/07/30(水) 09:54:57.06ID:5ewzjOeq
>>255
http://ja.m.wikipedia.org/wiki/DTrace#cite_ref-2
DTraceで使われてるDはまた別のものっぽいよ
2014/07/30(水) 09:58:39.78ID:oJuXMjZX
D言語のドキュメントは読みにくいから挫折してGo北野に俺が勉強したくなるような余計ななことかくな!
2014/07/30(水) 11:40:53.67ID:hbolUbaM
分かりやすい綺麗なコードが書ければプログラム言語なんて何でも良い
ただ、同じ事やるのに色々な表現方法が存在して構文を複雑にしたり
波括弧の位置だの鬱陶しい問題が存在しない方が良い

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

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

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

これでもダメ
2014/08/04(月) 14:59:51.43ID:NkDV0lbD
> func hoge(x, y int) (x, y int) {
> ...
> }

これ、

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

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

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

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

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

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

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

ビジネスロジックをクライアント側で実装するとなるとjsでは丸見えになるから
NaClでクライアントの一部でも実装できるというのはありな気がするんだけど。
ブラウザをchrome固定にしても構わない社内システムとかね。
302デフォルトの名無しさん
垢版 |
2014/08/06(水) 13:40:49.32ID: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でサポートされるというソースを出したら全力で謝ろう
2014/08/06(水) 15:57:32.29ID:/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
^^^^^^^^^^
2014/08/07(木) 21:30:44.75ID:5P5b4hRW
Clive
2014/08/09(土) 22:08:08.27ID:bNAhKStf
HSPにすら負けるマイナー言語
2014/08/09(土) 23:25:50.71ID:atPSQbTe
ほんとだー負けてるねー(棒
https://www.google.co.jp/trends/explore#q=go%20lang%2C%20hsp%20%E3%82%B2%E3%83%BC%E3%83%A0&;cmpt=q
2014/08/10(日) 02:03:30.22ID:z9JQKyZD
ゲームを付けずぬ検索すると更に悲惨なことになるのか
2014/08/10(日) 07:28:42.80ID:717mLNhK
いや、悲惨なのはどう見ても右肩下がりなHSPだろ
ゲームを付けないと、クロアチア権利党の略語としてヒットするからだめ
ゲーム以外の追加キーワードは、軒並み更に検索件数が少な過ぎる
2014/08/10(日) 09:10:02.35ID:owNP0mOn
いやって何がいやなんだ?
「更に」と書いてるんだからどちらにせよHSPが悲惨だと言ってるに決まってるだろ
2014/08/10(日) 09:10:27.53ID:frgBbTF3
いやいや
2014/08/10(日) 09:42:27.18ID:owNP0mOn
そう言うが本当は好きなんだろ?こういうのがよオラッ!
2014/08/10(日) 17:55:11.34ID:owxd9++q
学習コストが高い言語じゃないから
マイナーでも損した気持ちにあんまならない
2014/08/10(日) 18:16:52.00ID: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() // 空なのに…
で呼び出せたりするのがなんか気持ち悪い
2014/08/10(日) 18:36:30.54ID:8jOhhL8e
>>313 バグじゃ無いの? 確かに気持ち悪いし理解できない。
何で
barやfooのメソッドになるんだ?

お手伝いさん雇ったらいつの間にか家ごと乗っ取られてたと言う感じ。
2014/08/10(日) 18:53:42.45ID:owxd9++q
>>314
ひとつめはメソッド式っていう型から直接メソッドを取り出せるリファレンスに載ってる仕様
ふたつめはfoo.pfoobar()→nilptr.pfoobar()の間違いだすまん
2014/08/10(日) 19:17:22.63ID: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()
}
2014/08/10(日) 19:18:14.11ID:8jOhhL8e
fooのメソッドをクロージャの外に書くことも出来るようにしたと言うことなのかな?
lazy 的な使い方だからそう考えると理解出来る
2014/08/10(日) 19:32:56.63ID:fQipPNK5
>>316
そんなに変かな…? 「var nilptr *foo」を「空なのに…」って
言う方がヘンに思えるが…
2014/08/10(日) 19:42:15.04ID:owxd9++q
>>318
確かに空という表現は適切じゃないな
すまん
2014/08/29(金) 15:46:46.57ID:pefvZeNv
Goを書く上でおすすめのEditorって何?
atom使おうとしたら2MBのファイル制限があってtagsファイルが読み込めなくてがっかりした。

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

ジェネリックが有るなしでは雲泥の差が有るからな
2014/08/29(金) 22:14:19.57ID:W5ciN1UU
Go For Perl Mongers
http://go-talks.appspot.com/github.com/lestrrat/go-slides/2014-yapcasia-go-for-perl-mongers/main.slide
2014/08/31(日) 02:21:27.34ID:Z3wJLt4Y
C++テンプレートみたいになるん?
2014/09/01(月) 09:42:08.95ID:Aoi0Spsz
>> Wikipedia を見ると
>型の継承、ジェネリックプログラミング、アサーション、オーバーロードといった機能が存在しないことも特徴である。

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

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

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

ライブラリ作成と、そのライブラリの動的リンク機能マダー?
2014/11/02(日) 10:09:47.13ID:x5iq96Qv
変数無しRangeの使い道ってどんな時だろ
むしろforやifみたいに初期化文が置けるとスッキリするんだけど
2014/11/02(日) 11:17:59.44ID:r4spo6v1
1つ質問いいですか!
go言語ってコンパイルが早くて気に入ってるんだけど、
けど、なぜか突然コンパイルやテストが異常に遅くなったりする・・・
これの原因ってなんですか??
2014/11/02(日) 12:15:45.86ID:CjBmvnJw
ガベコレ
2014/11/02(日) 20:58:40.38ID:JPqAP6M3
AndroidのJavaがGoに置き換えられる日はいつかな
2014/11/02(日) 21:33:47.45ID:BYDmQ72k
それより先にChromeOSに飲み込まれる予感
でGoはGAEによるwebアプリとして、という形で置き換わ…らないかな…
2014/11/02(日) 22:09:45.10ID:uP+hCO1v
Javaは難しすぎるし文字列の連結も"a" + "b"みたいに+で書くのはダメでなんちゃらビルダーを使えとかでJava知らないとわかんないことも覚えないといけないからきつい
AndroidアプリはGo出かけるようにするべきだ
そしてJavaを切り捨てろ
2014/11/02(日) 23:29:08.56ID:6If1MJm0
Go「ちょっと出かけてくる」
2014/11/02(日) 23:40:50.47ID:dkfupOzq
Javaを斬りに行くのか
2014/11/06(木) 09:31:48.41ID:Yj3faNE/
goimportを11/9までに変えろってツイートのタイムラインで流れてきたけどどうやって変えるの?
.bashrcとかでpathを設定しろってこと?そんな設定した覚え無いよ
2014/11/06(木) 09:40:38.83ID: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')
2014/11/06(木) 10:14:37.36ID:Yj3faNE/
英語わかりません><
ソースコードって自分が書いたソースコードだけですか?
それともgo getでインストールしたのとか/usr/local/go以下のも全部ですか?
2014/11/07(金) 02:16:51.54ID:h+JOAERE
今後、ART+golang vs iOS+swiftの対決になる。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況