0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Go学習記録4日目 レスポンスタイムを計測するCLIツールの作成②

Posted at

Go言語学習の4日目です。

今日は昨日作成したWebサービスのレスポンスタイムを計測するCLIツールを改良しました。

Golangの正規表現とリストのインデックス

コマンドライン引数の引数として、"https://"で始まっているかをチェックしたいと思い、正規表現で確認するようにしました。regexpライブラリを使って実装しました。PHPと同じように実装できたので、特に迷うところはありませんでした。

また、引数に複数のURLを入れることが出来るようにしました。URLという構造体のリストを作成し、その中に正規表現で確認したurlを追加するようにしました。
また、リストの参照の仕方をもう少し勉強しないといけないと思いました。

1).スライスのインデックスは0から始まる
2).3番目以降を取り出すには、numbers[2:]と記述する
3).8番目までを取り出すには、numbers[:8]と記述する

おそらく一般化すると、以下のようになるでしょうか?
numbers[x:]と書くと、x番目のインデックスは含む。
numbers[:x]と書くと、x番目のインデックスは含まない。

	// 適切なURL(https://から始まっているかをチェック)
	re := regexp.MustCompile(`^https://`)

	for _, arg := range os.Args[1:] {
		if re.MatchString(arg) {
			urls = append(urls, URL{Url: arg})
		} else {
			fmt.Printf("%sは不正なURLです", arg)
			return
		}
	}

次回の課題

今日は複数の引数を取って、正規表現で引数をチェックするまでで終わってしまいました。明日こそ、goroutineを使って、複数URLを並行チェックできるようにしたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?