You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
スライスとは可変長の配列のことです。 Go言語でWeb APIを実装する場合(= JSONレスポンスを作成する場合)などで以下のような『構造体を要素に持つスライス』を作成する機会があります。 users = [ { "name": "Suzuki", "age": 20 }, { "name": "Tanaka", "age": 21 }, ] 今回は、構造体を要素に持つスライスの作成方法についてまとめます。 構造体を要素に持つスライスの作成(変数定義)方法 スライスの作成は、型[]T(型Tのスライスを表す)を利用する方法 と、make関数を利用する方法があります。1 2 User構造体のスライスをusers変数として扱う場合、スライスの作成方法には以下の種類があります。 make関数を利用する方法 make([]User, 0) []を利用する方法 users := []User{} v
time.Time型の変数を取得 ( Now Date Parse Unix ) timeパッケージの Now関数 Date関数 Parse関数 Unix関数 を利用して、time.Time型のインスタンスを取得できます。 package main import ( "fmt" "time" ) func main() { t1 := time.Now() fmt.Println(t1) t2 := time.Date(2020, time.December, 10, 23, 1, 10, 0, time.UTC) fmt.Println(t2) t3 := time.Date(2020, time.December, 10, 23, 1, 10, 0, time.Local) fmt.Println(t3) t4, _ := time.Parse(time.RFC3339, "2020-
この記事について 上のチートシートは、Goで時刻を扱う際に出てくる表現法と、それらを互いに変換するためにはどうしたらいいのかを一枚の図にまとめたものです。 この記事では、このチートシートに出てくる処理の詳細について掘り下げて説明しています。 使用する環境・バージョン OS: macOS Catalina 10.15.7 go version go1.18 darwin/amd64 OSのタイムゾーン: JST(日本標準時、UTC+0900) 想定読者 この記事では、以下のような方を想定しています。 Goの基本的な文法は分かっている人 異なる時刻の表現法を、Goではどのように変換することになるかを知りたい人 逆に、以下のような方は読んでも物足りないか、ここからは得たい情報が得られないかもしれません。 一般的にサーバーサイドで、どうすればタイムゾーンを正しく扱うことができるかを知りたい人 タイ
golang でクロスコンパイルし、複数のプラットフォーム向けバイナリを作成する手順をメモしておきます。 サポートされるプラットフォームの確認 クロスコンパイルしてバイナリを出力可能なプラットフォームの一覧は go tool dist list で確認出来ます。 # go tool dist list aix/ppc64 android/386 android/amd64 android/arm android/arm64 darwin/amd64 darwin/arm64 dragonfly/amd64 freebsd/386 freebsd/amd64 freebsd/arm freebsd/arm64 illumos/amd64 ios/amd64 ios/arm64 js/wasm linux/386 linux/amd64 linux/arm linux/arm64 linux/
WindowsからRaspberry PI用のgoのバイナリをビルドする方法が分からなかったのでメモ。 shellとかでやる場合は以下のように出来る。 正直wslを使えばそれで解決なんだけどもなんか悔しかったのでpowershellでやる方法もメモっとく。 $ GOOS=linux GOARCH=arm go build 普通にpowershellでenvを設定する方法みたいな感じだけども。 この環境変数設定方法は、powershellのセッション内だけで有効らしい。 > $env:GOOS = "linux" > $env:GOARCH = "arm" > go build 環境変数を取り除く場合は # $env:GOOSとすると、環境変数を代入してしまうので注意 > Remove-Item env:GOOS # 僕の環境だとrmでも行ける > rm env:GOOS 普段からshell
$ go tool dist list aix/ppc64 android/386 android/amd64 android/arm android/arm64 darwin/amd64 darwin/arm64 dragonfly/amd64 freebsd/386 freebsd/amd64 freebsd/arm freebsd/arm64 illumos/amd64 js/wasm linux/386 linux/amd64 linux/arm linux/arm64 linux/mips linux/mips64 linux/mips64le linux/mipsle linux/ppc64 linux/ppc64le linux/riscv64 linux/s390x netbsd/386 netbsd/amd64 netbsd/arm netbsd/arm64 openbs
$ wget https://github.com/mailhog/MailHog/releases/download/v0.2.1/MailHog_linux_amd64 $ chmod +x MailHog_linux_amd64 $ ./MailHog_linux_amd64 デフォルトの挙動ではメールはメモリ上に保存されるので、プロセスを停止させると受信したメールは消えます。 その場合はsliceでデータを保持しているので、大量にメールを送る試験をする場合はあまりメモリ効率が良くないかもしれないので注意が必要です。 SMTPは1025ポートで待ち受けています。 基本的な使い方 ブラウザに http://localhost:8025/ にアクセスするとWeb UIが表示され基本的にはそこで操作します。 下図はメールを2件受信している場合の例です。 https://github.com
golangでWindows APIを実行するための覚書(入り口)です。 やってみたこと まずは、感覚を知りたかったのでWindowsのKernel32.dllからGetTickCount関数を実行してOSの起動時間をmsで取得するプログラムを描いてみました。 ソース package main import ( "fmt" "syscall" ) func main() { // golang.org/x/sys/windows(参考) // https://godoc.org/golang.org/x/sys/windows // Win32 API 一覧(参考) // http://www.pinvoke.net/index.aspx // kernel32.dllをロード kernel32, err := syscall.LoadDLL("Kernel32.dll") if err
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く