高朗从给定的URL下载图像

package main

import (
    "fmt"
    "io"
    "net/http"
    "net/url"
    "os"
    "strings"
)

var (
    fileName    string
    fullUrlFile string
)

func main() {

    fullUrlFile = "http://www.yfmac.net/skin/frontend/base/default/logo.png"

    // Build fileName from fullPath
    buildFileName()

    // Create blank file
    file := createFile()

    // Put content on file
    putFile(file, httpClient())

}

func putFile(file *os.File, client *http.Client) {
    resp, err := client.Get(fullUrlFile)

    checkError(err)

    defer resp.Body.Close()

    size, err := io.Copy(file, resp.Body)

    defer file.Close()

    checkError(err)

    fmt.Println("Just Downloaded a file %s with size %d", fileName, size)
}

func buildFileName() {
    fileUrl, err := url.Parse(fullUrlFile)
    checkError(err)

    path := fileUrl.Path
    segments := strings.Split(path, "/")

    fileName = segments[len(segments)-1]
}

func httpClient() *http.Client {
    client := http.Client{
        CheckRedirect: func(r *http.Request, via []*http.Request) error {
            r.URL.Opaque = r.URL.Path
            return nil
        },
    }

    return &client
}

func createFile() *os.File {
    file, err := os.Create(fileName)

    checkError(err)
    return file
}

func checkError(err error) {
    if err != nil {
        panic(err)
    }
}

您必须阅读的解决方案

示例:从BYTES包拆分,联接和等于

将片段s分割为所有由sep分隔的子片段,并返回这些分隔符之间的子片段的片段。 Join将s的元素连接起来以创建一个新的字节片。分隔符sep放置在所得切片中的元素之间。 Equal返回一个布尔值(true或false),报告a和b的长度是否相同并且包含相同的字节。

在切片中找到元素并将其移至第一位置?

将字符串中的数字替换为零

在此示例中,我们用0替换任何1或2位数字。

在彩票中心下载中获取设置并清除会话

什么是符文?如何在Go中获取任何字符的ASCII值?

如何获取图像类型jpg jpeg png或gif的尺寸?

DecodeConfig配置函数的返回类型是struct image,它具有2个int变量Width和Height,通过它们可以获取Go中任何jpg jpeg gif或png图像的尺寸。

彩票中心下载中的匿名函数

匿名函数是在没有任何命名标识符的情况下声明的函数。就像标准函数一样,匿名函数可以接受输入和返回输出。

在彩票中心下载中使用正则表达式将字符串拆分为大写字母

如何从彩票中心下载中的字符串中删除符号?

正则表达式提取方括号之间的文本