{"id":13476419,"url":"https://github.com/miekg/gobook","last_synced_at":"2025-03-27T02:32:56.539Z","repository":{"id":63715211,"uuid":"1697635","full_name":"miekg/gobook","owner":"miekg","description":"A complete introduction into Go, superseded by https://github.com/miekg/learninggo","archived":true,"fork":false,"pushed_at":"2018-09-29T21:45:08.000Z","size":5094,"stargazers_count":875,"open_issues_count":4,"forks_count":96,"subscribers_count":60,"default_branch":"master","last_synced_at":"2024-08-01T16:45:05.585Z","etag":null,"topics":["book","free","go","learning","tex"],"latest_commit_sha":null,"homepage":"https://miek.nl/go","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/miekg.png","metadata":{"files":{"readme":"README.mkd","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-05-03T18:46:49.000Z","updated_at":"2024-06-29T00:00:02.000Z","dependencies_parsed_at":"2022-11-24T14:07:55.407Z","dependency_job_id":null,"html_url":"https://github.com/miekg/gobook","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miekg%2Fgobook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miekg%2Fgobook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miekg%2Fgobook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miekg%2Fgobook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miekg","download_url":"https://codeload.github.com/miekg/gobook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222184292,"owners_count":16945034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["book","free","go","learning","tex"],"created_at":"2024-07-31T16:01:30.071Z","updated_at":"2024-10-30T08:31:31.656Z","avatar_url":"https://github.com/miekg.png","language":"TeX","funding_links":[],"categories":["TeX"],"sub_categories":[],"readme":"\"Learning Go\" is now available online.\n\nSee \u003chttps://miek.nl/go\u003e and [this github repo](https://github.com/miekg/learninggo).\n\nNote this book's source has been rewritten in [mmark](https://mmark.nl) and *that* source is available at\n\u003chttps://github.com/miekg/learninggo\u003e.\n\n\u003e THIS REPO IS DEPRECATED.\n\n# `Learning Go` - a free PDF for learning the Go language.\n\nThe book currently consists of the following chapters:\n\n1. Introduction: Details the lineage of the language Go and shows the types, variables and control structures.\n3. Functions: How to make and use functions.\n4. Packages: Functions and data are grouped together in packages. Here you will see how to make your own package. How to unit test your package is also described.\n5. Beyond the basics:  Learn how to create your own data types and define functions on them (called methods in Go).\n6. Interfaces: Go does not support Object Orientation in the traditional sense. In Go the central concept is interfaces.\n7. Concurrency: With the go keyword functions can be started in separate routines (called goroutines). Communication with these goroutines is done via channels.\n8. Communication : How to create/read/write from and to files. And how to do networking.\n\nEach chapter concludes with a number of exercises with answers to help you get some hands-on experience. Currently there are more than 30 exercises.\n\n* See http://www.golang.org for the homepage of Go.\n\n\n## Building the book\n\n### Package Prerequisites\n\nWhen building this book from LaTeX sources files you will need the following packages on Ubuntu (tested on 13.04).\n\n* `inkscape`\n* `gnumeric`\n* `ttf-droid`\n* `ttf-dejavu`\n* `ttf-sazanami-gothic`  (Japanese font)\n* `ttf-arphic-ukai`\n* `texlive-fonts-recommended`\n* `texlive-extra-utils`\n* `texlive-xetex`\n* `texlive-latex-extra`\n* `texlive-latex-recommended`\n* `git-core`\n* `GNU make`\n\n\n\n### Following is a shell script to automate the package prerequisites installation.\n\nYou can copy and paste the following code to your vt100 session to kickoff the chains of many packages installation.\n```\n# tested on Ubuntu 13.04\nfor i in inkscape \\\ngnumeric \\\nttf-droid \\\nttf-dejavu \\\nttf-sazanami-gothic \\\nttf-arphic-ukai \\\ntexlive-fonts-recommended \\\ntexlive-extra-utils \\\ntexlive-xetex \\\ntexlive-latex-extra \\\ntexlive-latex-recommended \\\nlatex-cjk-xcjk \\\ngit-core \\\nmake\ndo\nsudo apt-get install $i -y\ndone\n```\n\n### Checking out the `Learning Go`  LaTeX sources.\n\nUsing http protocol.\n\n```\nme@ubuntu1204:~$git clone https://github.com/miekg/gobook.git\nCloning into 'gobook'...\nremote: Counting objects: 4515, done.\nremote: Compressing objects: 100% (1385/1385), done.\nremote: Total 4515 (delta 3106), reused 4512 (delta 3104)\nReceiving objects: 100% (4515/4515), 1.53 MiB | 1.17 MiB/s, done.\nResolving deltas: 100% (3106/3106), done.\nme@ubuntu1204:~$\n```\n\nUsing git protocol if you already have github account setup.\n\n```\ngit clone git@github.com:tjyang/gobook.git\n```\n\n\n### Make the `Learning Go` Book\n\n```\nmake\n```\n\n### Download the prebuilt `Learning Go` book\n\nLatest prebuilt pdf book [can be downloaded from http://www.miek.nl/downloads/Go/] [1]\n\n\n[1]: http://miek.nl/files/go/Learning-Go-latest.pdf  \"Download the prebuilt Learning Go book in PDF format\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiekg%2Fgobook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiekg%2Fgobook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiekg%2Fgobook/lists"}