Effective Go 翻訳 ~ Introduction

  • URLをコピーしました!
目次

はじめに

英語の勉強でリーディングを始めました。Go言語の勉強も兼ねてEffective Goを翻訳していければと思います。
自分の勉強用の翻訳なので、直訳かつ、訳に間違いがあるかもしれませんが、ご容赦いただければ幸いです。
もし間違いを見つけた方はコメントいただけると嬉しいです。

念のため、Effective GoのCopyrightを記載します。
コンテンツは Creative Commons Attribution 3.0 License、コードはBSD licenseとなっているため、適切に引用や翻訳すれば問題なさそうでした。

翻訳

Introduction

Go is a new language. Although it borrows ideas from existing languages, it has unusual properties that make effective Go programs different in character from programs written in its relatives. A straightforward translation of a C++ or Java program into Go is unlikely to produce a satisfactory result—Java programs are written in Java, not Go. On the other hand, thinking about the problem from a Go perspective could produce a successful but quite different program. In other words, to write Go well, it’s important to understand its properties and idioms. It’s also important to know the established conventions for programming in Go, such as naming, formatting, program construction, and so on, so that programs you write will be easy for other Go programmers to understand.
This document gives tips for writing clear, idiomatic Go code. It augments the language specification, the Tour of Go, and How to Write Go Code, all of which you should read first.

https://golang.org/doc/effective_go#introduction

Goは新しい言語です。Goは既存の言語からアイデアを借りていますが、効率的なGoプログラムをそれら関連する言語で書かれたプログラムとは異なるものにさせる珍しい性質を持っています。C++やJavaプログラムをGoに真っ直ぐに翻訳することは満足のいく結果を生み出しそうにない ー JavaプログラムはGoではなくJavaで書かれているのだ。一方、Goの観点からこの問題について考えることは成功を生み出すが、全く違うプログラムを生み出す可能性があります。言い換えると、Goを良く書くために、これら性質とイディオムを理解することが重要です。また、ネーミングやフォーマット、プログラム構造など、Goにおけるプログラミングにとって確立された慣例を知ることも重要です。これにより、あなたが書くプログラムは他のGoプログラマーにとって理解しやすくなります。
このドキュメントは明確にイディオマチックにGoコードを書くためのチップスを与えます。これはあなたが最初に読むべきである言語仕様、”Tour of Go”、 “How to Write Go Code”を全て補強します。

Examples

Examples 

The Go package sources are intended to serve not only as the core library but also as examples of how to use the language. Moreover, many of the packages contain working, self-contained executable examples you can run directly from the golang.org web site, such as this one (if necessary, click on the word “Example” to open it up). If you have a question about how to approach a problem or how something might be implemented, the documentation, code and examples in the library can provide answers, ideas and background.

https://golang.org/doc/effective_go#examples

Goパッケージソースはコアライブラリの役割だけでなく、言語の使い方の例としての役割も提供することを目的としています。さらに、多くのパッケージは、この例のように、golang.orgウェブサイトから直接実行できる機能的で自己完結型の実行可能な例を含んでいます。(もし必要なら”Example”をクリックして開いてください。)もし問題の取り組み方や、どのように実装されているかについて疑問を持ったら、ライブラリに含まれているドキュメンテーションやコード、例が答えやアイデア、背景を提供するだろう。

文法メモ

borrow A + from + B(人・場所)(B(人)からAを借りる、B(場所)でAを借りる)

it borrows ideas from existing languages既存の言語からアイデアを借りる
I borrowed a few DVDs from Tom.トムからDVDを数枚借りました。
I borrowed this computer from school.学校でこのコンピュータを借りました。

Make 名詞 + 形容詞 (人・物を〜な状態にさせる)

make effective Go programs different効率的なGoプログラムを異なるものにさせる
She always makes me happy.彼女はいつも私を幸せにする。
His harsh words really made me sad.彼の辛い言葉がいつも私を本当に悲しくさせた。

be unlikely to ~ (〜しそうにない)

A straightforward translation of a C++ or Java program into Go is unlikely to produce a satisfactory result

C++やJavaプログラムをGoに真っ直ぐに翻訳することは満足のいく結果を生み出しそうにない
They are unlikely to marry.彼らは結婚しそうにない。
He is unlikely to succeed as a doctor.彼は医者として成功しそうにない。

on the other hand (一方で)

also

原則としては、一般動詞がある場合は直前、助動詞・be動詞であればその直後に置きます。

He is also called Tom.彼はトムとも呼ばれます。
Tom not only cooks, but also cleans.トムは料理だけでなく掃除もします。

give 人 + モノ、give モノ + to 人 (人にモノを与える)

基本的な順番は give 人 + モノ
人を強調したい場合は give モノ + to 人

gave my parents a gift.私は両親に贈り物をした。
gave a gift to my parents私は両親に贈り物をした。

be intended to ~ (〜を意図している、〜を目的としている)

The Go package sources are intended to serve

~
Goパッケージソースは〜を提供することを目的にしている。
This is intended to help reduce global warming.これは地球温暖化の抑制に役立つことを目的としている。
It is intended to raise public awareness of disaster prevention.人々の防災意識を高めることを目的としています。

Effective Go 他セクションの翻訳

参考

「borrow」と「lend」の使い分け
alsoの使い方
giveの使い方


よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次