データ構造
用語 Goにおける説明 Javaでいうと
slice 可変長配列 ArrayList
map キーと値のペアを格納する HashMap
array 固定長配列 配列
make スライス、マップ、チャネルの作成 new
new ポインタを返す new
関連リンク: Goのスライスの使用法
▶
7
Slide 8
Slide 8 text
2. Goの周辺ツール、ミドルウェアなど
8
Slide 9
Slide 9 text
ビルドとパッケージ管理
用語 Goにおける説明 Javaでいうと
Go mod Goの依存関係管理ツール Maven, Gradle
Go build Goプログラムをコンパイルする javac
Go run Goプログラムをコンパイルして実行する java
Go get 外部パッケージをダウンロードしてインストールする Maven依存関係のダウンロード
関連リンク: Go Modules入門
▶
9
Slide 10
Slide 10 text
テストとプロファイリング
用語 Goにおける説明 Javaでいうと
Go test Goの標準テストフレームワーク JUnit
testify アサーションライブラリ JUnit Assertions
Go vet Goの標準静的解析ツール SonarQube
pprof Goの標準プロファイリングツール JProfiler
関連リンク: Goのテスト入門
▶
10
ビルドツール
用語 Goにおける説明 Javaでいうと
Go build ソースコードのコンパイルとリンク javac
Go install バイナリのビルドとインストール Maven install
Go generate ソースコード生成 Annotation Processor
関連リンク: Goのコマンドドキュメント
▶
36
Slide 37
Slide 37 text
依存関係管理
用語 Goにおける説明 Javaでいうと
Go.mod モジュール定義ファイル pom.xml, build.gradle
Go get 依存関係のダウンロード Maven/Gradle の依存関係解決
Go mod tidy 依存関係の整理 Maven/Gradle の依存関係解決
関連リンク: Go Modulesのチュートリアル
▶
37
Slide 38
Slide 38 text
コード品質
用語 Goにおける説明 Javaでいうと
Go fmt コードフォーマッタ Checkstyle
Go vet 静的解析ツール SpotBugs, SonarQube
Golangci-lint 統合リントツール PMD, Checkstyle, SpotBugs の組み合わせ
関連リンク: Golangci-lintの使い方
▶
38
マイクロサービス
用語 Goにおける説明 Javaでいうと
Go-micro マイクロサービスフレームワーク Spring Boot, Micronaut
Go-kit マイクロサービスツールキット Spring Cloud
consul-api サービスディスカバリ (Consul) Spring Cloud Consul
関連リンク: Go-microフレームワーク
▶
61
Slide 62
Slide 62 text
クラウドサービス連携
用語 Goにおける説明 Javaでいうと
aws-sdk-Go AWS SDK AWS SDK for Java
Google-cloud-Go Google Cloud SDK Google Cloud Java
azure-sdk-for-Go Azure SDK Azure SDK for Java
関連リンク: AWS SDK for Go
▶
62
Slide 63
Slide 63 text
17. エコシステムと実行環境
63
Slide 64
Slide 64 text
パッケージマネージャ
用語 Goにおける説明 Javaでいうと
Go get 依存関係のダウンロードとインストール Maven, Gradle
Go mod モジュール管理システム Maven, Gradle
dep (非推奨) 以前の依存関係管理ツール Apache Ivy
関連リンク: Go Modulesの使い方
▶
64
Slide 65
Slide 65 text
コミュニティとリソース
用語 Goにおける説明 Javaでいうと
Go Playground オンラインコード実行環境 JDoodle
Awesome Go Goリソースのキュレーションリスト Awesome Java
Go Forum 公式ディスカッションフォーラム Stack Overflow, Reddit r/java
関連リンク: Go Playground
▶
65
Slide 66
Slide 66 text
人気のあるフレームワークとライブラリ
用語 Goにおける説明 Javaでいうと
gin Webフレームワーク Spring Boot
Gorm ORM Hibernate
cobra CLIアプリケーションフレームワーク picocli
viper 設定管理 Spring Boot Externalized Configuration
関連リンク: Gin Web Framework
▶
66