导读 | 使用 Golang 实现,如果 url 没有 http 前缀,则给其加上前缀。 |
题目
修改 fetch 这个范例,如果输入的 url 参数没有 http:// 前缀的话,为这个 url 加上该前缀。你可能会用到 strings.HasPrefix 这个 函数。
题目解决思路
我们只需要使用 strings.HasPrefix 判断 url 是否有 http 前缀,如果没有,那么就用 字符串拼接 在 url 前面加上前缀。
代码具体实现
package main import ( "fmt" "io" "net/http" "os" "strings" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") for _, url := range os.Args[1:] { if !strings.HasPrefix(url, "http://") { url = strings.Join([]string{"http://", url}, "") } resp, err := http.Get(url) if err != nil { fmt.Fprintf(os.Stderr, "fetch: %v\n", err) os.Exit(1) } b, err := io.Copy(os.Stdout, resp.Body) resp.Body.Close() if err != nil { fmt.Fprintf(os.Stderr, "fetch: %v\n", err) os.Exit(1) } fmt.Printf("%s", b) } }
我们输入以下命令行,开始运行程序:
go run haicoder.go www.haicoder.net
程序运行后,控制台输出如下:
原文来自:https://haicoder.net/case/go-language/golang-1-8.html
本文地址:https://www.linuxprobe.com/golang-determines-url.html编辑:薛鹏旭,审核员:逄增宝
Linux命令大全:https://www.linuxcool.com/
Linux系统大全:https://www.linuxdown.com/
红帽认证RHCE考试心得:https://www.rhce.net/