Go language part 1

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2013/10/10(木) 12:04:51.78
Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。
2016/12/22(木) 11:20:58.30ID:yrFazDqV
go1.8リリース予定日を教えて
710デフォルトの名無しさん
垢版 |
2016/12/24(土) 07:00:03.75ID:Y/bvEAMg
https://play.golang.org/p/h2QL6YcUQJ

ダサイ
711デフォルトの名無しさん
垢版 |
2016/12/24(土) 07:36:38.25ID:Y/bvEAMg
https://play.golang.org/p/WtVTVEMr2-

どうもうまく作れねえ
2016/12/24(土) 10:57:29.42ID:I9wFmGZn
>>710
interface{} 使うとか(場合によって type assertion が必要だけど)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

これ何でや?逆の方がしっくりくるやろ・・・
2017/03/11(土) 07:32:20.09ID:2HZNdoI4
2000年代初期に

変数名: 型

より

型 変数名

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

Goglandはよ完成させんか!
807デフォルトの名無しさん
垢版 |
2017/03/28(火) 23:47:54.70ID:wrx/BE3m
言語ごとにエディタ変えるよりオールインワンがいいねん
2017/03/29(水) 03:12:59.73ID:oF0yWN/4
gogland試してる。
pluginの頃から既に実用レベルだったから、完成度は高いと思う。
debuggerとかで変数を確認しながら開発できるみたい。
https://www.jetbrains.com/go/features/
jetbrainsのideに慣れてれば使ってみると良いよ。
■ このスレッドは過去ログ倉庫に格納されています