Lan's note

高速HUGOブログで脱WordPress!

2019-07-20

Go言語[Golang]サイトマップからURL(loc)を取得するコード

goqueryパッケージのインストール $ go get github.com/PuerkitoBio/goquery サイトマップのURL(loc)を配列に格納する package main import ( "fmt" "github.com/PuerkitoBio/goquery" ) func main() { url := "https://lancers.work/sitemap.xml" doc, err := goquery.NewDocument(url) if err != nil { panic(err) } var link = []string{} doc.Find("loc").Each(func(_ int, s *goquery.Selection) { link = append(link, s.Text()) }) fmt.Println(link) } 実行結果 [https://lancers.work/tags/vmware/ https://lancers.work/vmware-esxi65-realtek-nic/ ・・・ https://lancers.work/pref-city-form-jquery-json/ https://lancers.work/hexo-nodejs-blog/] 解説 サイトマップファイルをスクレイピングするためgoqueryパッケージを使用 locの ...

2019-07-20

Go言語[Golang]sliceの要素をランダムにシャッフルするコード

sliceのshuffle実行コード(スライスのランダムな並び替えコード) package main import ( "fmt" "math/rand" "time" ) func main() { a := []int{0, 1, 2 ,3, 4, 5, 6, 7, 8, 9} fmt.Println(a) // [0 1 2 3 4 5 6 7 8 9] rand.Seed(time.Now().UnixNano()) for i := range a { j := rand.Intn(i + 1) a[i], a[j] = a[j], a[i] } fmt.Println(a) // [2 6 5 7 9 8 1 4 3 0] } 解説 math/rand・timeパッケージを使用 Seedの設定 初期値ではS ...