随笔 - 337  文章 - 5  评论 - 3  阅读 - 39万

go 谷歌免费翻译

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package main
 
import (
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
    "strings"
)
type fanyi struct  {
   first   string
   second  string
   context string
}
 
func( f *fanyi) TranslateEn2Ch(ff *fanyi) (string, error) {
    url := fmt.Sprintf("https://translate.googleapis.com/translate_a/single?client=gtx&sl=%s&tl=%s&dt=t&q=%s",ff.first,ff.second, url.QueryEscape(ff.context))
    resp, err := http.Get(url)
    if err != nil {
        return "", err
    }
    defer resp.Body.Close()
    if err != nil {
        return "", err
    }
    bs, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return "", err
    }
    //返回的json反序列化比较麻烦, 直接字符串拆解
    ss := string(bs)
    ss = strings.ReplaceAll(ss, "[", "")
    ss = strings.ReplaceAll(ss, "]", "")
    ss = strings.ReplaceAll(ss, "null,", "")
    ss = strings.Trim(ss, `"`)
    ps := strings.Split(ss, `","`)
    return ps[0], nil
}
func main() {
    var ff fanyi
    ff.first="zh-cn"
    ff.second="ja"
    ff.context="www.topgoer.com是个不错的go语言中文文档"
    str, err :=new(fanyi).TranslateEn2Ch(&ff)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(str)
}

  

 

posted on   kevin_yang123  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示