go
タイトルですべてを語っているだけの自分用メモ 背景 そういう機会に直面してしまった。pythonなら余裕だがpython/Node以外だとそういえばやったことがない。せっかくなのでGoでやる。以上 chromedpは初めて使った chromedp/chromedp - github 四方山 また、…
南蛮千治の再発明じゃがすくなくともわたしは毎回ググるのでメモ
ゴール wsl側で起動したgoのwebサーバーにwindows側のlocalhostでアクセスするまでやるよ ゴール WSL2 update, upgrade 今回目指すディレクトリ構造 goのインストール PATHを通す プロジェクト作成 wslで起動したサーバーにwindows側でlocalhostでアクセスす…
かなしい事件。 . . . p := filepath.FromSlash(cur + "/peropero.json") f, err := os.Open(p) if err != nil { log.Fatalln(err) } defer f.Close() . . . 以下のようなエラーが出た 2022/05/07 22:56:16 invalid character 'ï' looking for beginning of …
あらすじ及び結論 -hとか--listとか、そういうやつが欲しかった。ふつのコマンドでよく使うし標準で専用のメソッドなりがあるのかと思ったがそんなことはない?見つけたのは以下のやつ。ちょっと古い||もっといい方法があるのかもしれませんが github.com ro…
デフォルトではバッファサイズが64k(216)byteになってて辛くなってしまう場面があった。
雰囲気で書いたのであってるか(正しいか)どうかは知らん。呼び出すたびにリバースするだけのやつ。適当にやったのにちゃんと動くからgoはえらい(そういう話ではない)
fmt.Sprintfを使います。 s := fmt.Sprintf("%04d\n", 12) fmt.Println(s) // 0012
まあこれですよね http://or3.hatenablog.com/entry/2020/01/13/111700or3.hatenablog.com package main import ( "fmt" ) func main() { arr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} fmt.Println(arr, len(arr), cap(arr)) // [1 2 3 4 5 6 7 8 9 10] 10 …
年単位で放置してたgoenvによるgo環境、ひさしぶりにさわろうとしたら $ goenv install -l . . . 1.12.0 1.12beta1 だいぶ前に1.13がでたと思うんだけど... どうやらbrewでインストールしたgoenvはバージョンが1.23.3で止まっているらしく、なのでbrew upgra…
すげぇ久しぶりにGo書こうとしたら 前書いたのはたしか1.7系で、そのときのノリで再々々入門をしようとしてモダンな書き方を調べると、modules ?なんですかこれは? 知らない子ですね...? GOPATH モードからモジュール対応モードへ移行せよ - Qiita Go Modu…
ちなみに「任意のインデックスを削除」はこれでやってます。 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
スライスのポインタで渡すところとスライスのコピーとスライスの任意のインデックスの要素を消すっていう実装が頭まわりませんでした… 実装 package main import "fmt" func main(){ test := []int{1, 2, 3, 4} perms := permuration(test, 3) fmt.Println("…
そういう問題があったので。 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でちゃんと+…
日本語あってるかわかりませんが。 mainの外で二次元スライスを作っておき、中でmakeでcap/lenを設定して初期化するといいです。 package main import "fmt" var multislice [][]string func main(){ multislice = make([][]string, 4) s := []string{"ドバ…
runeを利用します さっき作ったgenerate_alphabet.go を利用してa-zのstring出すやつ
qiita.com これですね。Qiitaのほうでは各言語で解いてみた記事がどんどん上がっています(さすがにもう勢いは終息した) 当然Goで解いた記事なんてとっくの昔に出ているのでn番煎じなんですがたまにはコードかかんと、ということで。n番煎じなのでとくにこ…
組込みじゃないんかい Goは素晴らしい言語なのでソートのためにsortパッケージを呼ぶことができるのです。手間かけてimportしたソートにはぬくもりがありますね。 sortパッケージはこちら。 src/sort/sort.go - The Go Programming Language 基本的な使い方 …
そういえばやったことなかったので。n*mだとこういう感じです graph := make([][]string, n) for i:=0; i
Goでスライスをコピーする関数があります。 func copy(dst, src []Type) int 戻り値は「コピーが成功した要素の数」です。 注意点として、dstとsrcの長さが短いほうのぶんだけしかコピーされません。なので、 arr := []int{1, 2, 3} tmp := []int{} copy(tmp…
調べても見つからなかったんだけど、書式指定子なんてみんな同じノリだろという感じで適当に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) …
とりあえず空白区切りでの入力と一行をスライスとして得るのとそのうちでmin/maxをとるやつ。 どんどん更新してるので履歴はgistからどうぞ メソッドチェーン的なのができないのはGenericsが無いかららしいんですが、pythonやC#のLINQにお世話になってきてい…
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);>…