2021-08-01から1ヶ月間の記事一覧

Golang テストケースで同メソッドを何度も呼ぶ場合

テストケースでエラーでた has already been called the max number of times すでに最大回数呼び出されています。 え、呼び出し回数とか決まっている? gomockに1回しか呼び出さないようにしている書き方 mock := hoge.NewMockIFHoge(xxxx) mock.EXPECT().G…

Golang map を for loop

package main import ( "fmt" ) func main() { hogeMap := make(map[int64]string) hogeMap[1] = "A" hogeMap[2] = "B" for key := range hogeMap { fmt.Println(key) } // 1 // 2 } key だけほしい場合はこうなるらしい。初めて知った。

GORM bulk insert

GORM golang の ORM 直感的に扱えはするので◯ gorm.io GORM で bulk insert これ gorm.io 大量のレコードを効率的に挿入するには、Createメソッドにスライスを渡します。 GORMはすべてのデータを挿入し、主キーの値をバックフィルするための単一のSQL文を生…

Golang for loop

よく使ってるやつ for index, value := range []string{"a", "b", "c"} { fmt.Println(index, value) } map を回すとき for key, value := range map[string]string{"a": "a1", "b": "b1", "c": "c1"} { fmt.Println(key, value) } あとは continue, break …

Golang gzip response → struct

gzip圧縮されたresponseをhoge struct にいれるまで import ( "net/http" "compress/gzip" "bytes" "encoding/json" ) func main() { // どこかへGetRequest req, err := http.NewRequest(http.MethodGet, "https://hogehoge/foo/bar.jp", nil) if err != ni…

elementary OS 6 'Odin' が出たらしい

おすすめ記事になんか出てきた。 elementary OS を使っているので帰ったら早速DLしよう。 betanews.com 英語は読めないのでDeepLで翻訳 なぜ、デスクトップパソコンのユーザーは、LinuxベースのOSを使わないのでしょうか?ソフトウェアの互換性はさておき、…

Golang で日付操作(UTC→JST)

UTC → JSTに変えたくなった。 やったこと package main import ( "fmt" "time" ) const ( ISO8601Format = "2006-01-02T15:04:05Z" ) func main() { // UTC value := "2021-08-10T13:41:32Z" jst, _ := time.LoadLocation("Asia/Tokyo") r, _ := time.ParseI…

golang nil map で panic

よくやらかすやつ var testMap map[int64]string testMap[100] = "あいうえお" testMap[101] = "かきくけこ" // panic: assignment to entry in nil map なぜ? 初期化(メモリの確保)をしていないから 言われれば当然… 解決策 マップリテラルで初期化 2行に…

golang 小ネタ

goでの前方一致と後方一致 imports "strings" prefix := "hoge" suffix := "bar" str := "hoge foo bar" strings.HasPrefix(str, prefix) // true strings.HasSuffix(str, suffix) // true strings の中身 func HasPrefix(s, prefix string) bool { return l…

GolangでAWS SES

AWS SES AWS側の設定また別途 code import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/service/ses" ) const ( charSet = "UTF-8" ) func main() { // BCC setting bccEmailAddress := []*strin…