{"version":1,"pages":[{"id":"-M7GbT8JywYd2euoT_WF","title":"Introduction","pathname":"/bo","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQE1gIugBxsj9u2","title":"Installation and Tools","pathname":"/bo/0.0installation","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQFpBVcOD37RdhI","title":"Installation","pathname":"/bo/0.0installation/installation","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Installation and Tools"}]},{"id":"-M7GbbQGzPr1L_JVwD5h","title":"Tools","pathname":"/bo/0.0installation/0.1tools","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Installation and Tools"}]},{"id":"-M7GbbQHDIVqUCSxXqLK","title":"Go basic knowledge","pathname":"/bo/02.1introductiongo","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQIj2BwaivtYgP4","title":"Go foundation","pathname":"/bo/02.1introductiongo/02.2variablesdatastruct","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Go basic knowledge"}]},{"id":"-M7GbbQJCBa1U3tLQ2P1","title":"Control statements and functions","pathname":"/bo/02.1introductiongo/02.3cntrlstmtfunctions","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Go basic knowledge"}]},{"id":"-M7GbbQKDqJq6BO7P7z3","title":"struct","pathname":"/bo/02.1introductiongo/02.4struct","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Go basic knowledge"}]},{"id":"-M7GbbQL3IDZJpa0r4GZ","title":"Object-oriented","pathname":"/bo/02.1introductiongo/02.5objectoriented","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Go basic knowledge"}]},{"id":"-M7GbbQM-lFAAK0el_XE","title":"interface","pathname":"/bo/02.1introductiongo/02.6interface","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Go basic knowledge"}]},{"id":"-M7GbbQN2svkNpVu4w1Q","title":"Concurrency","pathname":"/bo/02.1introductiongo/02.7concurrency","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Go basic knowledge"}]},{"id":"-M7GeZieCl3Co1PsU0cZ","title":"General","pathname":"/bo/1.0generaltalk","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQQV1AsVnTPo5kx","title":"Web Programming Basics","pathname":"/bo/1.0generaltalk/1.1webprogrambasics","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"General"}]},{"id":"-M7GbbQRP6lFknFwY4a-","title":"Implementation","pathname":"/bo/implementation","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQSLn3g5vuQa9e4","title":"Basic web application","pathname":"/bo/implementation/2.0implementationbasics","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Implementation"}]},{"id":"-M7GbbQT20bGWidJCr6J","title":"Designing our web app","pathname":"/bo/implementation/2.1webappdesign","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Implementation"}]},{"id":"-M7GbbQUWwqOC3NfGNqt","title":"Database Handling","pathname":"/bo/implementation/2.2database","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Implementation"}]},{"id":"-M7GbbQVJr98hv0QXsH_","title":"Webapp Example","pathname":"/bo/implementation/2.3example","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Implementation"}]},{"id":"-M7GbbQWUPB098TtPINg","title":"Form handling","pathname":"/bo/2.4workingwithforms","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQXfLnMcX7-tMvy","title":"Working with Forms","pathname":"/bo/2.4workingwithforms/working-with-forms","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Form handling"}]},{"id":"-M7GbbQYZijY8WkUe2CF","title":"Uploading Files","pathname":"/bo/2.4workingwithforms/2.5uploadingfiles","siteSpaceId":"sitesp_rbFMI","description":"","breadcrumbs":[{"label":"Form handling"}]},{"id":"-M7GbbQZS0m2GU-k7Y7f","title":"Templates","pathname":"/bo/3.0templating","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQ_7C9QWsxSsvRn","title":"User Authentication","pathname":"/bo/4.0authentication","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQasQc5FfIX7bVS","title":"Working with Files","pathname":"/bo/5.0files","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQbXacEiWjly3R9","title":"Routing","pathname":"/bo/6.0routing","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQcBaSJ7xb2d1IM","title":"Middleware","pathname":"/bo/7.0middleware","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQdSxyDnhh73F_p","title":"Building an API","pathname":"/bo/8.0buildingapi","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQeE_RDzrZlLpuJ","title":"Unit Testing","pathname":"/bo/9.0unittesting","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQfmN2Rhg00951B","title":"Version Control","pathname":"/bo/9.1versioncontrol","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQgM0IGpWBiRNiu","title":"Socket Programming","pathname":"/bo/9.2socketprogramming","siteSpaceId":"sitesp_rbFMI","description":""},{"id":"-M7GbbQhjAb9bB5yZE1M","title":"Contributors","pathname":"/bo/contributors","siteSpaceId":"sitesp_rbFMI","description":""}]}