| Welcome! | |
| Learn how to use this tour: including how to navigate the different lessons and how to run code. | |
| The Go Authors | |
| https://golang.org | |
| * Hello, 世界 | |
| Welcome to a tour of the [[/][Go programming language]]. | |
| The tour is divided into a list of modules that you can | |
| access by clicking on | |
| [[javascript:highlight(".logo")][A Tour of Go]] on the top left of the page. | |
| You can also view the table of contents at any time by clicking on the [[javascript:highlightAndClick(".nav")][menu]] on the top right of the page. | |
| Throughout the tour you will find a series of slides and exercises for you | |
| to complete. | |
| You can navigate through them using | |
| - [[javascript:highlight(".prev-page")]["previous"]] or `PageUp` to go to the previous page, | |
| - [[javascript:highlight(".next-page")]["next"]] or `PageDown` to go to the next page. | |
| The tour is interactive. Click the | |
| [[javascript:highlightAndClick("#run")][Run]] button now | |
| (or press `Shift` + `Enter`) to compile and run the program on | |
| #appengine: a remote server. | |
| your computer. | |
| The result is displayed below the code. | |
| These example programs demonstrate different aspects of Go. The programs in the tour are meant to be starting points for your own experimentation. | |
| Edit the program and run it again. | |
| When you click on [[javascript:highlightAndClick("#format")][Format]] | |
| (shortcut: `Ctrl` + `Enter`), the text in the editor is formatted using the | |
| [[/cmd/gofmt/][gofmt]] tool. You can switch syntax highlighting on and off | |
| by clicking on the [[javascript:highlightAndClick(".syntax-checkbox")][syntax]] button. | |
| When you're ready to move on, click the [[javascript:highlightAndClick(".next-page")][right arrow]] below or type the `PageDown` key. | |
| .play welcome/hello.go | |
| * Go local | |
| The tour is available in other languages: | |
| - [[https://go-tour-br.appspot.com/][Brazilian Portuguese — Português do Brasil]] | |
| - [[https://go-tour-ca.appspot.com/][Catalan — Català]] | |
| - [[https://go-tour-cz.appspot.com/][Czech — Česky]] | |
| - [[https://fr-go-dev.shuijingwanwq.com/tour][French — Français]] | |
| - [[https://de-go-dev.shuijingwanwq.com/tour][German — Deutsch]] | |
| - [[https://go-tour-id2.appspot.com/][Indonesian — Bahasa Indonesia]] | |
| - [[https://go-tour-jp.appspot.com/][Japanese — 日本語]] | |
| - [[https://ko-go-dev.shuijingwanwq.com/tour][Korean — 한국어]] | |
| - [[https://go-tour-pl1.appspot.com/][Polish — Polski]] | |
| - [[https://go-dev.shuijingwanwq.com/tour][Simplified Chinese — 简体中文]] | |
| - [[https://go-tour-lat.appspot.com/][Spanish — Español]] | |
| - [[https://go-tour-th.appspot.com/][Thai — ภาษาไทย]] | |
| - [[https://go-tour-ua-translation.lm.r.appspot.com/][Ukrainian — Українською]] | |
| Click the [[javascript:highlightAndClick(".next-page")]["next"]] button or type `PageDown` to continue. | |
| #appengine: * Go offline (optional) | |
| #appengine: | |
| #appengine: This tour is also available as a stand-alone program that you can use | |
| #appengine: without access to the internet. It builds and runs the code samples on | |
| #appengine: your own machine. | |
| #appengine: | |
| #appengine: To run the tour locally, you'll need to first | |
| #appengine: [[/doc/install][install Go]] and then run: | |
| #appengine: | |
| #appengine: go install golang.org/x/website/tour@latest | |
| #appengine: | |
| #appengine: This will place a `tour` binary in your | |
| #appengine: [[/cmd/go/#hdr-GOPATH_and_Modules][GOPATH]]'s `bin` directory. | |
| #appengine: When you run the tour program, it will open a web browser displaying | |
| #appengine: your local version of the tour. | |
| #appengine: | |
| #appengine: Of course, you can continue to take the tour through this web site. | |
| #appengine: * The Go Playground | |
| #appengine: | |
| #appengine: This tour is built atop the [[https://play.golang.org/][Go Playground]], a | |
| #appengine: web service that runs on [[/][golang.org]]'s servers. | |
| #appengine: | |
| #appengine: The service receives a Go program, compiles, links, and runs the program inside | |
| #appengine: a sandbox, then returns the output. | |
| #appengine: | |
| #appengine: There are limitations to the programs that can be run in the playground: | |
| #appengine: | |
| #appengine: - In the playground the time begins at 2009-11-10 23:00:00 UTC (determining the significance of this date is an exercise for the reader). This makes it easier to cache programs by giving them deterministic output. | |
| #appengine: | |
| #appengine: - There are also limits on execution time and on CPU and memory usage, and the program cannot access external network hosts. | |
| #appengine: | |
| #appengine: The playground uses the latest stable release of Go. | |
| #appengine: | |
| #appengine: Read "[[/blog/playground][Inside the Go Playground]]" to learn more. | |
| #appengine: | |
| #appengine: .play welcome/sandbox.go | |
| * Congratulations | |
| You've finished the first module of the tour! | |
| Now click on [[javascript:highlightAndClick(".logo")][A Tour of Go]] to find out what else | |
| you can learn about Go, or go directly to the [[javascript:click('.next-page')][next lesson]]. |