字节课程学习

62 阅读1分钟

一.入门篇学习

实战篇:

1.猜数字游戏

运用

 ”math/rand“
 ​
 maxNum := 100
 调用 Intn(maxNum)
 //注意这并不能使每一次都用都产生不同的值
 ​
 需要加 时间戳 才能每次产生不同的值
 应该是:
 maxNum := 100
 ran.Seed(time.Now().UnixNano())
 然后调用
  ran.Intn(maxNum)
  
  用 "bufio"
  这个特别的包以后可以用到
  
  这里读取一行输入用的是
  reader := bufo.NewReader(os.Stdin)//调用这个可以更加灵活
  input, err := reader.ReadString('\n')
  if err != nil{...}
  
  input = strings.TrimSuffix(intput,"\n")//去掉换行符
  
  guess,err := strconv.Atoi(input)//转换成数字
  
  菜值逻辑 

2.在线词典介绍

 go run simpledict/v4/main.go hello
 //意思是查询hello这个功能
 //会输出以下内容
 hello UK:['he'lau]US:[ha'lo]
 int.喂;哈罗
 n.引人注意的呼声
 V.向人呼(喂
 ​
 调用第三方api
 ​

生成请求

curlconverter.com/

写入curl 自动生成代码

示例:

image-20241104201754858

会输出一些列bilibili的东西

json序列化

image-20241104202957339

衍生出以下

image-20241104203014855

 结构体
 request := DicRequest{Trans Type:"en2zh",Source:"good"}
 buf, err := json.Marshal(request)//序列化request 变成byte数组
 if~~~
 var data = bytes.NewReader(buf) //因为buf返回的是bytes数组所以我们应该 bytes.NewReader

解析response 进行反序列化

json转golang 结构体

oktools.net/json2go

反序列化

 err = json.Unmarshal(bodytext,&dictResponse)//传入结构体
 ​
 fmt.Println("%#v",dicResponse)
 ​
 ​