백엔드 개발 Golang go 언어를 사용하여 Baidu 번역 API를 개발하여 중국어와 핀란드어 간의 상호 번역을 실현합니다.

go 언어를 사용하여 Baidu 번역 API를 개발하여 중국어와 핀란드어 간의 상호 번역을 실현합니다.

Aug 05, 2023 pm 04:33 PM
언어로 가다 바이두 번역 API 중국어-핀란드어 번역

go 언어를 사용하여 Baidu 번역 API를 개발하여 중국어와 핀란드어 간의 상호 번역을 달성합니다.

인터넷 시대에 언어 간 의사소통이 점점 더 중요해졌습니다. 사람들의 다양한 언어 간 의사소통 요구를 충족하기 위해 많은 회사에서 번역 도구를 출시했습니다. Baidu Translate는 서로 다른 언어를 쉽게 번역할 수 있는 잘 알려진 번역 서비스 제공업체 중 하나입니다.

이 기사에서는 중국어와 핀란드어 간의 상호 번역을 달성하기 위해 Baidu 번역 API를 호출하는 애플리케이션을 개발하기 위해 go 언어를 사용하는 방법을 소개합니다. 먼저 Baidu Translation API의 기본적인 사용법을 이해한 후, 기능을 구현하기 위한 샘플 코드를 작성하겠습니다.

먼저 바이두 번역 오픈 플랫폼에 신청하고 API 키와 비밀 키를 받아야 합니다. 이 정보는 인증 및 액세스 제한을 위해 API를 사용할 때 필요합니다. 이제 이 두 개의 키가 있으므로 코드 작성을 시작할 수 있습니다.

샘플 코드에서는 Go 언어의 "net/http" 패키지를 사용하여 HTTP 요청을 보냅니다. 먼저 패키지를 가져와야 합니다.

import (
    "net/http"
    "fmt"
)
로그인 후 복사

다음으로 Baidu Translate API를 호출하는 translate 함수를 정의합니다. translate来调用百度翻译API:

func translate(apiKey string, secretKey string, from string, to string, text string) (string, error) {
    // 构建请求URL
    url := fmt.Sprintf("http://api.fanyi.baidu.com/api/trans/vip/translate?q=%s&from=%s&to=%s&appid=%s&salt=123456&sign=%s",
        text, from, to, apiKey, secretKey)
    
    // 发送HTTP GET请求
    resp, err := http.Get(url)
    if err != nil {
        return "", err
    }
    defer resp.Body.Close()
    
    // 读取响应数据
    data, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return "", err
    }
    
    // 解析JSON数据
    var result struct {
        Error   int    `json:"error"`
        Message string `json:"message"`
        TransResult []struct {
            Src string `json:"src"`
            Dst string `json:"dst"`
        } `json:"trans_result"`
    }
    err = json.Unmarshal(data, &result)
    if err != nil {
        return "", err
    }
    
    // 判断翻译是否成功
    if result.Error != 0 {
        return "", errors.New(result.Message)
    }
    
    // 返回翻译结果
    return result.TransResult[0].Dst, nil
}
로그인 후 복사

translate函数中,我们通过拼接URL来构建请求。q参数表示要翻译的文本,fromto参数表示源语言和目标语言,appid是我们在百度翻译开放平台上申请的应用ID。通过拼接这些参数,我们可以得到一个完整的请求URL。

然后,我们使用http.Get函数发送GET请求,并读取响应数据。接下来,我们使用json.Unmarshal函数将JSON数据解析为结构体。然后,我们判断翻译是否成功,并返回翻译结果。

接下来,我们可以在main函数中调用translate函数来实现中文和芬兰文之间的翻译:

func main() {
    apiKey := "your_api_key"
    secretKey := "your_secret_key"
    from := "zh"
    to := "fin"
    text := "你好世界"
    
    result, err := translate(apiKey, secretKey, from, to, text)
    if err != nil {
        fmt.Println("翻译失败:", err)
        return
    }
    
    fmt.Println("翻译结果:", result)
}
로그인 후 복사

main函数中,我们需要替换your_api_keyyour_secret_key为我们在百度翻译开放平台上申请到的API Key和Secret Key。然后,我们定义了源语言zh和目标语言fin,以及要翻译的文本你好世界

最后,我们调用translaterrreee

translate 함수에서 URL을 연결합니다. 요청을 구성합니다. q 매개변수는 번역할 텍스트를 나타내고 fromto 매개변수는 소스 언어와 대상 언어를 나타내며 appid 는 Baidu 번역 오픈 플랫폼에 적용되는 애플리케이션 ID입니다. 이러한 매개변수를 연결하면 완전한 요청 URL을 얻을 수 있습니다.

그런 다음 http.Get 함수를 사용하여 GET 요청을 보내고 응답 데이터를 읽습니다. 다음으로 json.Unmarshal 함수를 사용하여 JSON 데이터를 구조로 구문 분석합니다. 그런 다음 번역이 성공했는지 확인하고 번역 결과를 반환합니다. 🎜🎜다음으로 main 함수에서 translate 함수를 호출하여 중국어와 핀란드어 간 번역을 수행할 수 있습니다. 🎜rrreee🎜In main >In 함수를 사용하려면 your_api_keyyour_secret_key를 Baidu Translation Open Platform에서 신청한 API 키와 비밀 키로 바꿔야 합니다. 그런 다음 소스 언어 zh와 대상 언어 fin, 그리고 번역할 텍스트 Hello World를 정의합니다. 🎜🎜마지막으로 translate 함수를 호출하고 번역 결과를 인쇄합니다. 🎜🎜위 코드를 사용하면 중국어와 핀란드어를 쉽게 번역할 수 있습니다. 물론 이 예제를 확장하여 더 많은 언어 쌍을 지원할 수 있습니다. 이 기사가 Baidu Translation API를 개발하기 위해 go 언어를 사용하는 방법을 더 잘 이해하는 데 도움이 되기를 바랍니다. 🎜

위 내용은 go 언어를 사용하여 Baidu 번역 API를 개발하여 중국어와 핀란드어 간의 상호 번역을 실현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Go 's Crawler Colly의 큐 스레드의 문제는 무엇입니까? Go 's Crawler Colly의 큐 스레드의 문제는 무엇입니까? Apr 02, 2025 pm 02:09 PM

Go Crawler Colly의 대기열 스레딩 문제는 Colly Crawler 라이브러리를 GO 언어로 사용하는 문제를 탐구합니다. � ...

GO에서 플로팅 포인트 번호 작업에 어떤 라이브러리가 사용됩니까? GO에서 플로팅 포인트 번호 작업에 어떤 라이브러리가 사용됩니까? Apr 02, 2025 pm 02:06 PM

Go Language의 부동 소수점 번호 작동에 사용되는 라이브러리는 정확도를 보장하는 방법을 소개합니다.

GO의 어떤 라이브러리가 대기업에서 개발하거나 잘 알려진 오픈 소스 프로젝트에서 제공합니까? GO의 어떤 라이브러리가 대기업에서 개발하거나 잘 알려진 오픈 소스 프로젝트에서 제공합니까? Apr 02, 2025 pm 04:12 PM

GO의 어떤 라이브러리가 대기업이나 잘 알려진 오픈 소스 프로젝트에서 개발 했습니까? GO에 프로그래밍 할 때 개발자는 종종 몇 가지 일반적인 요구를 만납니다.

이동 중에 왜 println 및 string () 함수로 문자열이 다른 효과를 갖는 이유는 무엇입니까? 이동 중에 왜 println 및 string () 함수로 문자열이 다른 효과를 갖는 이유는 무엇입니까? Apr 02, 2025 pm 02:03 PM

Go Language의 문자열 인쇄의 차이 : println 및 String () 함수 사용 효과의 차이가 진행 중입니다 ...

Go Language Slice : 단일 요소 슬라이스 인덱스 1 인터셉트시 오류를보고하지 않는 이유는 무엇입니까? Go Language Slice : 단일 요소 슬라이스 인덱스 1 인터셉트시 오류를보고하지 않는 이유는 무엇입니까? Apr 02, 2025 pm 02:24 PM

Go Language Slice Index : 오류없이 단일 요소 슬라이스가 인덱스 1에서 차단하는 이유는 무엇입니까? Go Language에서 슬라이스는 바닥을 참조 할 수있는 유연한 데이터 구조입니다 ...

Go 및 Viper 라이브러리를 사용할 때 포인터를 전달 해야하는 이유는 무엇입니까? Go 및 Viper 라이브러리를 사용할 때 포인터를 전달 해야하는 이유는 무엇입니까? Apr 02, 2025 pm 04:00 PM

Go Pointer Syntax 및 Viper Library 사용의 문제 해결 GO 언어로 프로그래밍 할 때 특히 포인터의 구문 및 사용법을 이해하는 것이 중요합니다.

Goland의 사용자 정의 구조 레이블이 적용되지 않는 문제를 해결하는 방법은 무엇입니까? Goland의 사용자 정의 구조 레이블이 적용되지 않는 문제를 해결하는 방법은 무엇입니까? Apr 02, 2025 pm 12:51 PM

GO 언어 개발을 위해 Goland를 사용할 때 Goland의 사용자 정의 구조 태그 문제와 관련하여 종종 구성 문제가 발생합니다. 그들 중 하나는 ...

Go Language는 대규모 URL 액세스를 처리하는 데 비효율적입니다. 최적화 방법은 무엇입니까? Go Language는 대규모 URL 액세스를 처리하는 데 비효율적입니다. 최적화 방법은 무엇입니까? Apr 02, 2025 am 10:15 AM

GO Lange Massive URL 액세스를위한 성능 최적화 전략이 기사는 GO 언어를 사용하여 대규모 URL 액세스를 처리하는 문제에 대한 성능 최적화 솔루션을 제안합니다. CSV의 기존 프로그램 ...

See all articles