Go language part 1

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2013/10/10(木) 12:04:51.78
Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。
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に慣れてれば使ってみると良いよ。
2017/03/29(水) 11:37:06.05ID:e2+Szx9c
いまのところ、エディタ+実行環境ぐらいしか使ってないので、
Ideaのプラグインの頃との違いがあまり分かってない。
liteideもそのぐらいしか使ってなかたったけど。
2017/03/29(水) 11:45:26.94ID:UMeevNqB
>>807
vimとemacsが仲間にして欲しそうにこちらを見ている

言語ごとの文法に慣れたら、言語ごとのIDE/エディタも慣れると思ってた時期が俺にもありました
環境は変わるとホント辛いよね
2017/03/29(水) 12:34:20.39ID:4wfKDbDZ
VisualStudioCodeが便利すぎて正直Go専用にIDE環境使おうとは思わんな。
2017/03/29(水) 17:31:20.16ID:mPpJrWfj
Goglandで良いならLiteIDEで良いじゃん
2017/03/30(木) 18:14:38.97ID:tZ7gdWKd
LiteIDEってGoで書かれているわけじゃないんだね。
ずっとGoで書かれているんだと思ってた。。。
2017/03/30(木) 20:28:14.36ID:Ya8jf9nB
>>813
Goで書かれていると言えばMicro。
でもプラグインはluaだという
2017/04/20(木) 02:41:38.17ID:pSoU+zvg
Google公式でaptパッケージをメンテしてほしい
今あるのはバージョンが古いし
2017/04/20(木) 14:57:33.39ID:T7Zz78Cb
>>815
つ anyenv
2017/04/20(木) 23:41:12.94ID:Yuw+ZMQt
goenvでもいいしね
2017/04/21(金) 23:13:42.55ID:DOzdPvj8
rubyのbundleかpythonのvenvみたいなのが欲しい
depはいちいちプロジェクト毎にGOPATHを書き換えないといけないからだるい
2017/04/22(土) 12:36:33.90ID:XOGXVxf4
そのためのDockerですよ
2017/04/22(土) 16:47:25.97ID:b6kRyspV
>>818
glideじゃだめなん?
2017/04/24(月) 16:03:49.72ID:Ce/YXV/H
go-opencvってどうなの
結局cgo使うことになる?
2017/04/27(木) 23:04:18.01ID:Q8g/twyk
delve入れて IntelliJ IDEA でデバッグしようとしたんだけどなぜかパニクる、同じようなこと起こってるひといる?
2017/04/30(日) 10:57:04.13ID:0Jw8BHIT
go get github.com/hajimehoshi/ebiten/...
って … ってどういう意味なんですかね?
2017/04/30(日) 12:43:49.05ID:YASP0NOm
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
2017/04/30(日) 19:15:55.71ID:Kng/Djib
…がないとebitenパッケージしかgetしないってことだと思う。
exampleとかebitenutilもgetしたいなら…つけるんじゃないか。
826デフォルトの名無しさん
垢版 |
2017/05/02(火) 18:24:35.45ID:Wqf9gHHS
>>749
2017/05/03(水) 08:31:28.68ID:O89wJViE
遅ればせながらshibukawaさんのnanovgo demo sampleってやつを
ubuntu 16.04上で動かしてみたけど、これいいね
巷での評判はどうなの?
2017/05/03(水) 08:33:34.36ID:O89wJViE
>>827
おっとgoのバージョンは1.8.1
829デフォルトの名無しさん
垢版 |
2017/05/03(水) 20:02:29.02ID:O89wJViE
>>828
windows10でもやってみた
結構いろんな環境で動きそうですね
goはやはり1.8.1
2017/05/05(金) 13:35:23.32ID:P7YKsBwJ
>>829
同じマシン(i5 第3世代、HPデスクトップ)で速度を比較してみると
windows10: 130-140 FPS
ubuntu 16.04: 125付近 FPS
で、あまり違いはなかった
2017/05/05(金) 13:43:01.75ID:P7YKsBwJ
>>830
おっとまた忘れた
画面の解像度が速度に大きく作用するので、その記載
ここでのテストは 1920x1080でした
832デフォルトの名無しさん
垢版 |
2017/05/06(土) 13:38:13.01ID:e8GUuuYA
>>831
別のマシン(i5-4590S)で Windows 10 (Creators update、上も同じ)
380-400 FPS

第4世代と第3世代の差は圧倒的だは!
833デフォルトの名無しさん
垢版 |
2017/05/06(土) 13:45:33.58ID:xfCUj8G0
おつ
2017/05/16(火) 00:10:12.72ID:jyI5CijS
goにもnilを許容しない変数定義できるようになって欲しい。
typeScriptとかになれるとnilになるとコンパイラが指摘してくれんだろという思い込みがgoで書く時に問題になる。実行時エラー出しまくりw
835デフォルトの名無しさん
垢版 |
2017/05/16(火) 18:53:07.01ID:18D2gyoZ
Rustでもやれば
2017/05/17(水) 11:26:01.95ID:8ydAfzFN
Rustとかになれると変数値破壊するとコンパイラが指摘してくれんだろという思い込みがGo, TypeScriptで書く時に問題になりそう
JavaやSwift(ObjC)みたいなnilable修飾詞はあっても良いかもねぇ、どうしても欲しいと言う機能でもないけど
2017/05/17(水) 22:28:30.66ID:sVDcp3Zu
rustのほうがコンパイラがより親切ってこと?
goのエコシステムが好きだから、今のところはrustを試そうとは思わないなぁ。

goのnilって型がありつつnlみたいな状態とただのnilって違うし
そういう混乱があるから
nilを許容しない方向に進んだほうがより直感的になる気がする。
2017/05/20(土) 09:48:00.81ID:POYpVYoy
rustのエコシステムはgo並みに親切だけど、コンパイラはドSだからやめた方がいい
試した所でgoやtypescriptのコンパイラのゆるさを見直すだけだよ

goのnil, nlはまぁ混乱するからどっちかだけにして欲しくはある
2017/05/25(木) 22:23:56.33ID:gYX5/I4W
Goをはじめてつかってみたけど
Goの良さを生かせるプロジェクトってすごく限られてるよな
2017/05/25(木) 22:31:37.92ID:VLHKaXKG
そうなの?
2017/05/26(金) 01:11:35.38ID:ZNc2U8qB
go脳裏ってgoroutineだしね。並行処理したいってなければphpでいいのかもね。
俺的にはkotlinに行ってみようかな。
2017/05/26(金) 10:53:21.83ID:gvIQ5llv
go versionしてもバージョンがすべて表示されないんですけど
1.8.1なのか1.8.3ナノ化マイナーバージョンまで調べる方法教えてください
2017/05/27(土) 00:13:43.62ID:RKgIRc4T
Goの人間に期待してない感じ良いと思う
バカでもある程度同じ書き方になるみたいな
844デフォルトの名無しさん
垢版 |
2017/05/27(土) 03:53:53.40ID:KIGprW1f
メソッドでnilが来て死

func (h *Hoge)foo() int {
return h.bar + h.baz
}
2017/05/27(土) 06:56:18.11ID:3w92Yrys
bに0が来て死くらいバカっぽいなw
func div(a, b int) int {
return a / b
}
846
垢版 |
2017/05/27(土) 09:39:16.58ID:sEq8ObI0
>>843
palmのgraffitiみたいな感じで、歩み寄れというメッセージ感じるな。
2017/05/27(土) 10:53:29.19ID:AtlUQH7H
>>842
それ、おまいがインストールしてるバージョンが1.8なんじゃないかな
2017/05/27(土) 13:58:37.09ID:dJa5J15+
>>847
1.8.0だったら1.8って表示されるんですか?
たぶん1.8.1なのでそれはないです
2017/05/27(土) 16:29:07.28ID:AtlUQH7H
>>848
$ go version go version go1.8.3 darwin/amd64
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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