Go语言的Http包及冒泡排序解读

目录标题

Http

一.Get

go 复制代码
        package main

        import (
            "fmt"
            "io/ioutil"
            "net/http"
        )

        func main() {
            response, err := http.Get("http://www.baidu.com")
            if err != nil {
                fmt.Println("Http Get request failed:", err)
                return
            }

            defer response.Body.Close()

            body, err := ioutil.ReadAll(response.Body)

            if err != nil {
                fmt.Println("Failed to read response body:", err)
                return
            }

            fmt.Println(string(body))

        }

二、Post

go 复制代码
        package main

        import (
            "fmt"
            "io/ioutil"
            "net/http"
            "strings"
        )

        func main() {
            url := "http://example.com"
            payload := strings.NewReader("key1=value1&key2=value2")

            req, err := http.NewRequest("POST", url, payload)
            if err != nil {
                fmt.Println("Failed to create POST request:", err)
                return
            }

            req.Header.Set("Content-Type", "application/x-www-form-urlencoded")

            client := &http.Client{}
            resp, err := client.Do(req)
            if err != nil {
                fmt.Println("HTTP POST request failed:", err)
                return
            }
            defer resp.Body.Close()

            body, err := ioutil.ReadAll(resp.Body)
            if err != nil {
                fmt.Println("Failed to read response body:", err)
                return
            }

            fmt.Println(string(body))
        }

三、Http服务器

go 复制代码
		package main
		
		import (
			"fmt"
			"net/http"
		)
		
		func main() {
			http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
				fmt.Fprintf(w, "Hello, World!")
			})
		
			err := http.ListenAndServe(":8080", nil)
			if err != nil {
				fmt.Println("Failed to start HTTP server:", err)
			}
		}
		
		// 终端输入命令 go run main.go   当看见fmt中的内容意味着8080端口被占用
		// 在服务器成功启动后,你可以在浏览器中访问http://localhost:8080,应该会看到"Hello, World!"的输出。当你在浏览器中刷新页面时,服务器会再次响应相同的消息。要停止服务器,你可以在终端中按下Ctrl+C来中断运行。

BubbleSort冒泡排序

go 复制代码
    package main

    import (
        "fmt"
    )

    func BubbleSort(arr *[5]int) {
        fmt.Println("使用冒泡排序前arr=", (*arr))

        temp := 0 // 用于在排序过程中进行值的交换

        for i := 0; i < len(*arr)-1; i++ { //  i = 0, 1, 2, 3
            for j := 0; j < len(*arr)-1-i; j++ {
                if (*arr)[j] > (*arr)[j+1] { // 判断当前 是否与下一个值小
                    temp = (*arr)[j]        // 小则temp记录当前数值
                    (*arr)[j] = (*arr)[j+1] // 覆盖当前数值
                    (*arr)[j+1] = temp      // 替换数值
                }
            }
        }

    }

    func main() {
        arr := [5]int{22, 55, 28, 77, 11}

        BubbleSort(&arr)

        fmt.Println("使用冒泡排序后arr=", arr)
    }


    // 使用冒泡排序前arr= [22 55 28 77 11]
    // 使用冒泡排序后arr= [11 22 28 55 77]
相关推荐
千寻技术帮1 小时前
10333_基于SpringBoot的家电进存销系统
java·spring boot·后端·源码·项目·家电进存销
dear_bi_MyOnly1 小时前
【多线程——线程状态与安全】
java·开发语言·数据结构·后端·中间件·java-ee·intellij-idea
小信丶3 小时前
@EnableTransactionManagement注解介绍、应用场景和示例代码
java·spring boot·后端
To Be Clean Coder3 小时前
【Spring源码】createBean如何寻找构造器(四)——类型转换与匹配权重
java·后端·spring
-孤存-3 小时前
SpringBoot核心注解与配置详解
java·spring boot·后端
lingggggaaaa3 小时前
安全工具篇&Go魔改二开&Fscan扫描&FRP代理&特征消除&新增扩展&打乱HASH
学习·安全·web安全·网络安全·golang·哈希算法
2301_818732064 小时前
项目启动报错,错误指向xml 已解决
xml·java·数据库·后端·springboot
£漫步 云端彡4 小时前
Golang学习历程【第十篇 方法(method)与接收者】
开发语言·学习·golang
小王不爱笑1324 小时前
SpringBoot 整合 Ollama + 本地 DeepSeek 模型
java·spring boot·后端
短剑重铸之日6 小时前
《设计模式》第七篇:适配器模式
java·后端·设计模式·适配器模式