- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2022-12-21T05:43:38+00:00","default:admin","admin")
#author("2022-12-23T02:26:06+00:00","default:admin","admin")
-[[Gophers Japan:https://gocon.connpass.com/]]
-[[Go Conference:https://gocon.jp/]]
-[[Go言語(golang)とは? 特徴・できること・将来性を徹底解説:https://tech-stock.com/magazine/what_is_golang/]]
-[[Rust なのか Go なのか:https://python.ms/rust-or-go/]]
-[[【2022年版】オススメなGo言語のフレームワークとGo言語エンジニアの需要について徹底解説!:https://engineer-style.jp/articles/1827]]
-[[IT業界で最先端のGo案件が増加中[2022年]:https://geechs-job.com/tips/details/63]]
-[[とってもやさしいGo言語入門:https://zenn.dev/ak/articles/1fb628d82ed79b]]
-[[Go言語(golang)とは? 特徴・できること・人気の理由について徹底解説:https://type.jp/et/feature/9445/]]
-[[Goの苦手な領域:https://zenn.dev/nobonobo/articles/3f5310248567a1]]
-[[グーグル、C/C++に代わる新言語「Go」をOSSで公開:http://www.atmarkit.co.jp/news/200911/11/go.html]]
-[[Google の新プログラミング言語 Go をMac OSX にインストール - おっとおれは骨付き肉!:http://d.hatena.ne.jp/masibonge/20091111/1257919052]]
-[[新世代の並列処理言語Google Goをひもとく:http://www.atmarkit.co.jp/fcoding/index/go.html]]
-[[仕事の言語に飽きてきた人はGoを使ってみてほしい――『スターティングGo言語』著者が語るGoのパワー:https://codezine.jp/article/detail/9359]]
-[[Goならわかるシステムプログラミング:http://ascii.jp/elem/000/001/235/1235262/]]
-[[GoでAPIサーバを開発する:https://qiita.com/zakiry/items/728872598c546eefb4df]]
-[[GoでとあるAPIサーバを実装し直した話:https://tech.mercari.com/entry/2016/12/19/180000]]
-[[Go で API サーバーを開発してきて1年が過ぎました:http://aial.shiroyagi.co.jp/2016/07/golang-api-server-developing/]]
-[[グーグルのプログラミング言語「Go」--開発者が明かした好む理由と好まない理由:https://japan.techrepublic.com/article/35135644.htm]]
-[[[golang]goaを使ってAPIの設計・開発し、OpenAPIドキュメントを自動生成する:https://kuroeveryday.blogspot.com/2018/05/goa-design-first-api-generation.html]]
-[[Scala で書いたマイクロサービスを Go で書き直した話:https://tech.jxpress.net/entry/2019/12/02/071352]]
-[[「Goの父」ロブ・パイクの「プログラミング5カ条」、ネット上で話題に:https://gigazine.net/news/20200817-rob-pike-5-rules-programming/]]
-[[満足度は高いプログラミング言語「Go」--一部機能の不足に不満も:https://japan.zdnet.com/article/35170398/]]
*概要 [#ga33e462]
-言語機能や文法などの要素を極限まで削ったコンパクトなプログラミング言語
-改良されたC
--厳密に定義された多数の基本型
--パッケージによる名前空間の導入
--ガベージコレクタによるメモリ管理
-コンパイル言語
-コンパイル速度が速い ... コードの修正→テスト実行のサイクルを快適に回すことに貢献
-マルチプラットフォームで動作
-OSへの非依存
--OSの標準的なライブラリに依存しない実行ファイルを生成
--OSが提供する共有ライブラリを使わない代わりに、自前で相当する機能をすべて保持する必要があるため、実行ファイルサイズは大きくなる
-ガーベジコレクタ機能を備える
-並行処理に強い
--goroutine
--channel
-ポインタ型はあるが、ポインタ演算機能はない
-簡潔性を目指して、以下の機能を外した
--オブジェクト指向
--例外機構
--ジェネリクス
--ジェネリクス ... v1.18 で導入
-[[なぜGo言語はエラー返却に例外機構を使わないのか:https://tmrtmhr.info/tech/why-does-golang-not-have-exceptions/]]
-[[Go にジェネリクスがなくても構わない人たちに対する批判について:https://methane.hatenablog.jp/entry/2017/09/19/Go_%E3%81%AB%E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AA%E3%82%AF%E3%82%B9%E3%81%8C%E3%81%AA%E3%81%8F%E3%81%A6%E3%82%82%E6%A7%8B%E3%82%8F%E3%81%AA%E3%81%84%E4%BA%BA%E3%81%9F%E3%81%A1%E3%81%AB%E5%AF%BE%E3%81%99]]
-[[Re: Go にジェネリクスがなくても構わない人たちに対する批判について:http://kmizu.hatenablog.com/entry/2017/09/21/221433]]
*導入事例 [#l960e288]
-[[海外の導入事例:https://go.dev/solutions/#case-studies]]
-[[日本の導入事例:https://github.com/golang/go/wiki/GoUsers#Japan]]
*トレンド [#p9fe8252]
-[[これまでとこれからのGo:https://gihyo.jp/article/2022/08/tukinami-go-01]]
-[[IT業界で最先端のGo案件が増加中[2022年]:https://geechs-job.com/tips/details/63]]
*バージョン [#ddb060c7]
**1.18 [#ab70336f]
-Goは年に2回、2月と8月に新しいバージョンをリリースする
**[[1.19 (2022/8):https://tip.golang.org/doc/go1.19]] [#c3a87856]
-[[プログラミング言語「Go 1.19」が公開 ~ドキュメントコメントがセクションタイトル・リンク・リストをサポート:https://forest.watch.impress.co.jp/docs/news/1429940.html]]
**1.18 (2022/3) [#sd771224]
-[[ジェネリクスを導入した「Go 1.18」が公開 ~「Go」言語の仕様変更としては過去最大級:https://forest.watch.impress.co.jp/docs/news/1395812.html]]
-[[Go 1.18集中連載 ジェネリクス:https://future-architect.github.io/articles/20220209a/]]
**1.19 [#b56b05e1]
-[[プログラミング言語「Go 1.19」が公開 ~ドキュメントコメントがセクションタイトル・リンク・リストをサポート:https://forest.watch.impress.co.jp/docs/news/1429940.html]]
-[[Go 1.19リリース連載始まります GoDoc/ツール周りのアップデート:https://future-architect.github.io/articles/20220801a/]]
*主な機能追加 [#kbf2822b]
**go get [#r213dd88]
**モジュール [#xed66b06]
**コンテキスト [#q75d8b1c]
-[[よくわかるcontextの使い方:https://zenn.dev/hsaki/books/golang-context]]
**ジェネリクス [#xc8c92b0]
*フレームワーク [#i5d1480d]
-[[【2022年】Go言語フレームワークの10選を比較!目的別のおすすめを解説:https://mid-works.com/columns/freelance-career/engineers/1114805]]
-[[Go言語フレームワークのまとめ【2022年版】:https://freelance-start.com/articles/73]]
-[[【2022年版】オススメなGo言語のフレームワークとGo言語エンジニアの需要について徹底解説!:https://engineer-style.jp/articles/1827]]
-[[社畜エンジニアがおすすめする2022年トレンドのGoフレームワークまとめ:https://wiblok.com/go/go_framework_2022/]]
*環境構築 [#i277875a]
**オンライン [#p47956e5]
-[[Go言語フレームワークRevelとPaizaCloudを使って10分でWebサービスを作る方法:https://proxy-paiza-hatenablog-com.paiza.cloud/entry/2018/03/23/paizacloud_golang_revel]]
**Windows [#xb3e9aad]
-[[WindowsのVisual Studio CodeでGo言語の開発環境を作る(2017年7月版):https://blog.shibata.tech/entry/2017/07/20/211442]]
-[[[Visual Studio Code][Golang][Windows] VSCodeでGoの開発環境を作成する方法まとめ:https://qiita.com/koara-local/items/8642d847831b6268d23e]]
**macOS [#ua4dcefa]
-[[Goの導入 for MacOS:https://zenn.dev/kubo_programmer/articles/1fc6bb6029f2bf]]
-[[macOS で Go 言語の開発環境を構築して Hello, world! を出力する:https://webgroove.work/macos-go-dev-environment-print-hello-world/]]
***goenv [#u675966c]
-[[Go言語のバージョン管理ツール[goenv]の導入:https://qiita.com/MasanoriIwakura/items/bc8c20d3a0ba7d21262b]]
-[[【Mac】goenvでGoをインストールする:https://takagi.blog/install-go-on-mac-with-goenv/]]
-[[goenv で最新バージョンの Go が表示されないなら再インストール:https://zenn.dev/utah/articles/b48482864a1e8f]]
**Chrome OS [#h2bb6cf9]
-[[https://github.com/golang/go/wiki/ChromeOS]]
**基本設定 [#i9a31bc9]
***GOPATHの設定 [#wa59726a]
export GOPATH=$(go env GOPATH)
export PATH=$GOPATH/bin:$PATH
*GoDoc [#v337ce85]
-[[チョットできるGoプログラマーになるための詳解GoDoc:https://qiita.com/shibukawa/items/8c70fdd1972fad76a5ce]]
*ツール [#t1465101]
**gore, gocode, pp [#r006cdf9]
$ go get github.com/motemen/gore/cmd/gore
$ go get github.com/mdempsky/gocode
$ go get github.com/k0kubun/pp
**ghq [#j7614917]
-[[Ubuntuのgoのバージョンを上げて、ghqをインストールする:https://reetok99709.github.io/Ubuntu-In-ghq/]]
-[[GO言語 1.12をインストール@Ubuntu 18.04:https://www.mazn.net/blog/2019/02/03/1704.html]]
**goimports [#c0048ec2]
$ go get golang.org/x/tools/cmd/goimports
**golint [#lbbd74db]
-静的解析ツール
$ go get golang.org/x/lint/golint
**gox [#n9cc66f0]
-[[goxでGoをクロスコンパイルする:https://qiita.com/ono_matope/items/6cc759da440ef768006f]]
-クロスコンパイルツール
$ go get github.com/mitchellh/gox
*フレームワーク [#g9a7b2de]
-[[Go言語フレームワークのまとめ【2022年版】:https://freelance-start.com/articles/73]]
**Revel [#kadb88bb]
-[[GoのフレームワークRevelを使ってみる(インストール編):https://qiita.com/m1ul24/items/bbe5aeef2811c1446471]]
*クロスコンパイル [#ed4f795e]
*常駐システム [#v1663396]
-[[Go言語でWindows,Linuxの常駐システムを開発する:https://tech-blog.optim.co.jp/entry/2022/04/28/100000]]