0xf

日記だよ

2022-11-05から1日間の記事一覧

golangのrangeと文字列

func main() { for i, c := range "hello, こんにちは" { fmt.Printf("%d, %c, %s\n", i, c, reflect.ValueOf(c).Kind()) } } まあ、こういうコードがあると思いねえ。 $ go run main.go 0, h, int32 1, e, int32 2, l, int32 3, l, int32 4, o, int32 5, ,,…

golangでメソッドには型パラメータは付与できないけどレシーバには付与できる

pythonのジェネレータ的な書き味をgolangで - 0xfを書いていて気がついたのだけど、 なんか勘違いしていて、メソッドは型パラメータ持てないよといったとき、レシーバも同様かと思い込んでいた。 type ReadOnlyChannel[T any] <-chan T func each(s, e int) …

pythonのジェネレータ的な書き味をgolangで

yield でシュッといけるわけではないのだが channel を返せばいいか? func each(s, e int) <-chan int { r := make(chan int) go func() { defer close(r) for i := s; i < e; i++ { r <- i } }() return r } func main() { for i := range each(10, 20) { f…

レコードプレーヤー更新について考える

今はオーディオテクニカの10,000円くらいで買ったAT-LP60Xってやつを利用している。 AT-LP60X|アナログ|オーディオテクニカ 初心者向けの内訳 公式ページにもあるが、 ・スタートボタンを押すだけでレコードの再生・停止を行なう、33/45回転に対応可能なフ…