- import (
- "encoding/json"
- "io/ioutil"
- "log"
- "nettp"
- )
- /*
- from字段 to字段 翻译方向
- auto auto 自动识别
- zh en 中 -> 英
- zh jp 中 -> 日
- en zh 英 -> 中
- jp zh 日 -> 中
- */
- func translate(from, to, q []string) []string {
- ERROR_CODE := "error_code"
- ERROR_MSG := "error_msg"
- TRANS_RESULT := "trans_result"
- qq := ""
- for _, v := range q {
- qq += v + "%0A"
- }
- // log.Println(qq)
- url:="http://fanyi.baidu.com/v2transapi?from="+from+"&to="+from+"&query="+qq
- // log.Println(url)
- resp, err := http.Get(url)
- if err != nil {
- log.Println("Get the URL ", url, " Error:", err)
- }
- defer resp.Body.Close()
- body, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- log.Println("Read the Response Error:", err)
- }
- j2 := make(map[string]interface{})
- err = json.Unmarshal(body, &j2)
- if err != nil {
- panic(err)
- }
- if j2[ERROR_CODE] != nil {
- log.Println("Error:", j2[ERROR_CODE], "-", j2[ERROR_MSG])
- return nil
- }
- result := j2[TRANS_RESULT].( map[string]interface {})
- rsdata:=result["data"].( []interface {})
- response := make([]string, len(rsdata))
- for i := 0; i < len(rsdata); i++ {
- rs := rsdata[i].(map[string]interface{})
- response[i] = rs["dst"].(string)
- // log.Println(rs["src"], rs["dst"])
- }
- return response
- }
- func main() {
- from := "auto"
- to := "auto"
- q1 := []string{"tomorrow", "yesterday", "How Are You", "Tomorrow is another day", "An apple a day, keeps doctors away"}
- a1 := translate(from, to, q1)
- for _, v := range a1 {
- log.Println(v)
- }
- to = "jp"
- q2 := []string{"白日依山尽", "糗", "
- //该片段来自于http://www.codesnippet.cn/detail/021220137647.html
来源: http://www.codesnippet.cn/detail/021220137647.html