電波ビーチ

☆(ゝω・)v

go

俺はtask buildでGo modulesのgoコードを走らせたいだけなんだ

すげぇ久しぶりにGo書こうとしたら 前書いたのはたしか1.7系で、そのときのノリで再々々入門をしようとしてモダンな書き方を調べると、modules ?なんですかこれは? 知らない子ですね...? GOPATH モードからモジュール対応モードへ移行せよ - Qiita Go Modu…

Goでスライスの任意のインデックスに挿入

go

ちなみに「任意のインデックスを削除」はこれでやってます。 or3.hatenablog.com 実装 package main import "fmt" func main(){ n := []int{1, 2, 3,} incert_target := 9999 intint := make([][]int, 0) for i:=0; i

Goで順列を辞書順で

スライスのポインタで渡すところとスライスのコピーとスライスの任意のインデックスの要素を消すっていう実装が頭まわりませんでした… 実装 package main import "fmt" func main(){ test := []int{1, 2, 3, 4} perms := permuration(test, 3) fmt.Println("…

Goで「文字列のa番目からb番目までを反転」をやる

そういう問題があったので。 Transformation | Aizu Online Judge func Reverse(s string, a int, b int) string { r := []rune(s) for i, j := a, b; i < (a+b)/2+1; i, j = i+1, j-1 { r[i], r[j] = r[j], r[i] } return string(r) } (a+b)/2+1でちゃんと+…

Goで二次元スライスの宣言をグローバルでやってローカルで初期化

go

日本語あってるかわかりませんが。 mainの外で二次元スライスを作っておき、中でmakeでcap/lenを設定して初期化するといいです。 package main import "fmt" var multislice [][]string func main(){ multislice = make([][]string, 4) s := []string{"ドバ…

Goでアルファベットの文字列

runeを利用します さっき作ったgenerate_alphabet.go を利用してa-zのstring出すやつ

Atcoder Beginner SelectionをGoで解いた

qiita.com これですね。Qiitaのほうでは各言語で解いてみた記事がどんどん上がっています(さすがにもう勢いは終息した) 当然Goで解いた記事なんてとっくの昔に出ているのでn番煎じなんですがたまにはコードかかんと、ということで。n番煎じなのでとくにこ…

Goのsortパッケージを少し調べた

go

組込みじゃないんかい Goは素晴らしい言語なのでソートのためにsortパッケージを呼ぶことができるのです。手間かけてimportしたソートにはぬくもりがありますね。 sortパッケージはこちら。 src/sort/sort.go - The Go Programming Language 基本的な使い方 …

Goで二次元配列、配列っていうかスライス

go

そういえばやったことなかったので。n*mだとこういう感じです graph := make([][]string, n) for i:=0; i

Sliceをコピーするときcopyじゃなくてappendを使うとなにも考えずに済む

go

Goでスライスをコピーする関数があります。 func copy(dst, src []Type) int 戻り値は「コピーが成功した要素の数」です。 注意点として、dstとsrcの長さが短いほうのぶんだけしかコピーされません。なので、 arr := []int{1, 2, 3} tmp := []int{} copy(tmp…

Goでfloat値を小数点以下n位まで出力する

go

調べても見つからなかったんだけど、書式指定子なんてみんな同じノリだろという感じで適当にC言語の書き方をしたらいけた。 a := 156.0/46.0 fmt.Println(a) fmt.Printf("%f\n", a) fmt.Printf("%.4f\n", a) //小数点以下4桁まで fmt.Printf("%10.3f\n", a) …

GoでCompetitive Programming用途のUtilityみたいなやつ

とりあえず空白区切りでの入力と一行をスライスとして得るのとそのうちでmin/maxをとるやつ。 どんどん更新してるので履歴はgistからどうぞ メソッドチェーン的なのができないのはGenericsが無いかららしいんですが、pythonやC#のLINQにお世話になってきてい…

Goでマルチバイト文字列をインデックス付きでほしい

go

Goでは文字列型は[]byteとして解釈されるらしいです。 mojiretsu := "💀test♡" for i:=0; i<len(mojiretsu); i++{ fmt.Printf("%v ", mojiretsu[i]) } >>> 240 159 146 128 116 101 115 116 226 153 161 そこで、rune型とかいうのが使われます。forでstring型に対してrangeを使うと、全体に対する1文字ごとのバイト列のイ</len(mojiretsu);>…