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]
相关推荐
zl_dfq28 分钟前
计算机网络 之 【http协议】(hppt请求与响应细节、http版本与连接管理)
http
开心就好202529 分钟前
不同阶段的 iOS 应用混淆工具怎么组合使用,源码混淆、IPA混淆
后端·ios
架构师沉默36 分钟前
程序员如何避免猝死?
java·后端·架构
椰奶燕麦1 小时前
Windows PackageManager (winget) 核心故障排错与通用修复指南
后端
zjjsctcdl1 小时前
springBoot发布https服务及调用
spring boot·后端·https
zdl6862 小时前
Spring Boot文件上传
java·spring boot·后端
世界哪有真情2 小时前
哇!绝了!原来这么简单!我的 Java 项目代码终于被 “拯救” 了!
java·后端
RMB Player2 小时前
Spring Boot 集成飞书推送超详细教程:文本消息、签名校验、封装工具类一篇搞定
java·网络·spring boot·后端·spring·飞书
重庆小透明2 小时前
【搞定面试之mysql】第三篇 mysql的锁
java·后端·mysql·面试·职场和发展
孤影过客2 小时前
互联网谍战:HTTPS如何守护数据,以及头顶的量子阴云
网络协议·http·https