Skip to content

Instantly share code, notes, and snippets.

View oyakata's full-sized avatar

Imagawa Yakata (oyakata) oyakata

  • Sumpu@Suruga
  • Japan/ the Age of Provincial Wars
View GitHub Profile
@oyakata
oyakata / adaptorfunc.go
Created February 14, 2019 07:06
関数アダプタ
package main
import (
"fmt"
)
type helloFunc func(int, int, int) string
func callHello(fn helloFunc) {
s := fn(1, 2, 3)
@oyakata
oyakata / wait_group.go
Created November 27, 2018 09:16
Goのchannelのclose
package main
import (
"fmt"
"sync"
"time"
)
func main() {
ch := make(chan string)
@oyakata
oyakata / multierrorsample.go
Created May 25, 2018 07:11
go-multierrorサンプル
package main
import (
"fmt"
"time"
"github.com/hashicorp/go-multierror"
)
func main() {
@oyakata
oyakata / inspector.go
Created November 30, 2017 09:42
Goでstructのフィールドを[][]interface{}に変換
package main
import (
"fmt"
"reflect"
"time"
"unsafe"
)
var timeType = reflect.TypeOf(time.Time{})
@oyakata
oyakata / imgw_test.go
Created August 7, 2017 08:51
sqlmockはMatchExpectationsInOrderにfalseを渡すとクエリの実行順序のチェックは止めてくれる
package imgw
import (
"fmt"
"github.com/DATA-DOG/go-sqlmock"
"database/sql"
"testing"
)
const (
SQL1 = `SELECT age FROM foo WHERE age > ?`
@oyakata
oyakata / tickerstop.go
Created April 24, 2017 08:37
time.Tickerを利用するモジュールのテストはどうしたら良い?Stop()の例
package main
import (
"fmt"
"time"
)
func hello(tic *time.Ticker) {
for {
select {
@oyakata
oyakata / nilslice.go
Created April 12, 2017 06:14
Goはスライス型で宣言した変数にnilを代入しても空のスライスのまま
package main
import (
"fmt"
)
func main() {
var xs []string
xs = nil
fmt.Println(xs, len(xs))
@oyakata
oyakata / mergedict.go
Last active May 21, 2022 10:17
Goでmapのマージ [Pythonのdict.update的な]
package main
import "fmt"
func mergeDict(xs ...map[string]interface{}) map[string]interface{} {
result := map[string]interface{}{}
for _, x := range xs {
for k ,v := range x {
result[k] = v
}
@oyakata
oyakata / methodasfunc_inslice.go
Last active April 4, 2017 03:37
型付きfuncのスライスに所定の構造体のメソッドでも渡せることをテスト
package main
import (
"fmt"
)
// Foo.<method>がFuncのインターフェースを満たす。
// Foo.Get, Foo.Incrで同じキーを参照する。
type Data struct {
@oyakata
oyakata / shebangANSI.py
Created December 13, 2016 08:47
シバンとANSIエスケープコードのサンプル
#!/usr/bin/python
from datetime import datetime
import time
import itertools
import sys
c = itertools.count()
out = sys.stdout