This is my TUTORIAL project for golang.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
$ go version
go version go1.23.0 linux/amd64
$ task build
task: [build] go build .
$ ./try-golang -help
Usage of ./try-golang:
-example string
name of example
-list
show all example names
-onetime
run only one time
-vscode
run with vscode
$ go run ./cmd/try-golang
If you want to use go-task, type the following command.
$ go install github.com/go-task/task/v3/cmd/task@latest
Once the above command is complete, you can run it at
$ task run
$ go test -v ./...
or
$ task test
- gomy
- 共通ライブラリ
- goxcel
- Excel操作ライブラリ (go-ole利用)
- gord
- Word操作ライブラリ (go-ole利用)
- try-golang-extlib
- 3rd party ライブラリのサンプルはこちらで管理しています。
- try-golang-db
- データベースのサンプルはこちらで管理しています。
- try-golang-cgo
- CGOのサンプルはこちらで管理しています。
- try-golang-network
- ネットワークのサンプルはこちらで管理しています。
- go-crosscompile-example
- Goでクロスコンパイルを行うサンプルです。
- go-grpc-uds-example
- GoでgRPCで unix domain socket を扱うサンプルです。
- go-protobuf-example
- Goで protocol buffers を扱うサンプルです。
- go-unix-domain-socket-example
- Go で unix domain socket を使って通信するサンプルです。
- go-mod-vendoring-example
- Go で 依存しているモジュールを vendoring して実行してみるサンプルです。
- go-listener-with-backlog-example
- Go で バックログ を指定できる net.Listener を生成して実行するサンプルです。
- go-syscall-with-strace
- Go アプリが内部で利用しているシステムコールを出力するサンプルです。
- go-socket-reuseport-example
- Go で ソケット の SO_REUSEPORT を有効にして、同一ポートに複数LISTENするサーバを作るサンプルです。
- go-gopacket-example
- gopacketを使ってパケットキャプチャを行うサンプルです。
- go-tcp-keepalive-example
- Go で キープアライブプローブ を送信するサンプルです。
- バイトスライスに文字列を速く設定する方法(fmt.Sprintf, fmt.Appendf, 直接append使用)