golang第四天

栏目: Go · 发布时间: 5年前

内容简介:打卡时间: 1:56

测试代码

  • hello.go
package main

import (
    "net/http"
    "fmt"
    //"log"
    "os"
    "time"
    "sort"
    "log"
    "io/ioutil"
    "encoding/json"
)

/**
 * 计数器
 */
type Counter struct {
    n int
}

/**
 * 实现Handler接口中的ServeHTTP方法
 */
func (c *Counter) ServeHTTP(w http.ResponseWriter, req *http.Request) {
    c.n++
    fmt.Fprintf(w, "counter=%d\n", c.n)     //请求返回的数据
}

/**
 * json 结构体某字段的首字母为小写则不可导出
 */
type Person struct {
    Name string
    Age  int
}

func main() {

    /**
     * 简单的处理http请求
     */
    counter := new(Counter)
    http.Handle("/counter", counter)

    err := http.ListenAndServe(":9090", nil)
    if err != nil {
        log.Fatal("error...", err)
    }


    path := "tmp/tmp.txt"
    testFileIsExist(path)


    nums := []int{1, 10, 5, 4}
    c := make(chan int)

    /**
     * 测试管道和goroutine的结合使用
     */
    go func() {
        time.Sleep(time.Second * 5)
        sort.Ints(nums)
        fmt.Println("fuck you")
        c <- 1
    }()
    fmt.Println(nums)
    printInfo()
    <-c //阻塞作用,直到有数据可读取



    /**
     * json对象序列化
     */
    p := &Person{}
    p.Name = "jack"
    p.Age = 10
    pdata, _ := json.Marshal(p)
    fmt.Println(string(pdata))

    /**
     * json对象的反序列化
     */
    testUrl := "https://api.douban.com/v2/movie/top250?start=0&count=10"
    resp, err := http.Get(testUrl)
    Check(err)
    body := resp.Body
    defer body.Close()
    data, _ := ioutil.ReadAll(body)
    entity := DoubanEntity{}
    json.Unmarshal(data, &entity)
    fmt.Println(entity.Count)
}

type DoubanEntity struct {
    Count int
    Total int
}

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

func printInfo() {
    for i := 10; i < 100; i++ {
        fmt.Println("i=", i)
    }
}

/**
 *测试文件是否存在
 */
func testFileIsExist(path string)  {
    if _, err := os.Stat(path); os.IsNotExist(err) {
        fmt.Printf("%s does not exist\n", path)
    } else {
        fmt.Printf("%s is exist.\n", path)
    }
}

总结

  • 网络请求,json,文件操作

打卡时间: 1:56


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法问题实战策略

算法问题实战策略

[韩] 具宗万 / 崔盛一 / 人民邮电出版社 / 2015-2 / 119.00元

第一部分 开始解决问题 第二部分 算法分析 第三部分 算法设计范式 第四部分 一些著名的算法 第五部分 基本数据结构 第六部分 树 第七部分 图一起来看看 《算法问题实战策略》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码