Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menulis API Terjemahan Baidu dalam bahasa Go untuk melaksanakan fungsi terjemahan Cina-Hindi

Menulis API Terjemahan Baidu dalam bahasa Go untuk melaksanakan fungsi terjemahan Cina-Hindi

PHPz
PHPzasal
2023-08-06 22:24:241414semak imbas

Menulis API Terjemahan Baidu dalam bahasa Go untuk melaksanakan fungsi terjemahan Cina-Hindi

Dalam era globalisasi semasa, pertukaran bahasa telah menjadi lebih kerap dan penting. Memandangkan populariti bahasa Cina-Hindi semakin meningkat, keperluan untuk menyediakan fungsi terjemahan Cina-Hindi juga semakin meningkat dari hari ke hari. API Terjemahan Baidu ialah alat berkuasa yang boleh mencapai terjemahan antara pelbagai bahasa. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk menulis kod, memanggil API Terjemahan Baidu dan merealisasikan fungsi terjemahan Cina-Hindi.

Pertama, kami perlu memohon aplikasi API terjemahan pada Platform Pembangun Baidu dan mendapatkan kunci yang sepadan. Selepas mendapat kunci, kita boleh mula menulis kod Go.

Mula-mula, kami perlu memperkenalkan beberapa pakej yang diperlukan:

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "strings"
)

Seterusnya, kami menentukan fungsi untuk menghantar permintaan HTTP POST dan mengembalikan hasil terjemahan:

func translate(text string) (string, error) {
    url := "http://api.fanyi.baidu.com/api/trans/vip/translate"

    data := make(map[string]string)
    data["q"] = text
    data["from"] = "auto"
    data["to"] = "zh"

    params := []string{}
    for key, value := range data {
        params = append(params, key+"="+value)
    }

    appid := "your_appid"
    secretKey := "your_secretkey"
    salt := "1435660288"

    sign := appid + text + salt + secretKey
    signMd5 := md5.Sum([]byte(sign))
    signStr := fmt.Sprintf("%x", signMd5)

    params = append(params, "appid="+appid)
    params = append(params, "salt="+salt)
    params = append(params, "sign="+signStr)

    body := strings.NewReader(strings.Join(params, "&"))
    resp, err := http.Post(url, "application/x-www-form-urlencoded", body)
    if err != nil {
        return "", err
    }

    defer resp.Body.Close()
    bb, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return "", err
    }

    return string(bb), nil
}

Dalam kod di atas, kami mula-mula menentukan URL API terjemahan, dan letakkan teks dan parameter berkaitan yang perlu diterjemahkan ke dalam kamus data. Kemudian kami menggabungkan parameter dan mengira tandatangan. Akhir sekali, kami menggunakan kaedah http.Post untuk menghantar permintaan HTTP POST dan menghuraikan serta mengembalikan hasil yang dikembalikan. data字典中。然后我们将参数进行拼接,并计算签名。最后我们使用http.Post方法发送HTTP POST请求,并将返回的结果解析并返回。

最后,我们可以在main函数中调用translate函数,并输出翻译的结果:

func main() {
    text := "Hello, world!"

    result, err := translate(text)
    if err != nil {
        fmt.Println("翻译失败:", err)
        return
    }

    fmt.Println("翻译结果:", result)
}

将代码保存为main.go,然后使用go run main.go

Akhir sekali, kita boleh memanggil fungsi terjemah dalam fungsi main dan mengeluarkan hasil terjemahan:

rrreee

Simpan kod sebagai main.go, dan kemudian gunakan perintah go run main.go untuk menjalankan program dan anda boleh melihat hasil terjemahan output.

Dengan contoh kod di atas, kami boleh melaksanakan fungsi terjemahan antara bahasa Cina dan Hindi. Sudah tentu, ia juga boleh dikembangkan dan diubah suai mengikut keperluan anda sendiri untuk memenuhi lebih banyak keperluan terjemahan. 🎜🎜Ringkasnya, adalah mudah dan pantas untuk menulis API Terjemahan Baidu dalam bahasa Go untuk merealisasikan fungsi terjemahan Cina-Hindi. Saya harap artikel ini dapat memberi anda sedikit bantuan, dan selamat menulis! 🎜

Atas ialah kandungan terperinci Menulis API Terjemahan Baidu dalam bahasa Go untuk melaksanakan fungsi terjemahan Cina-Hindi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn