PageSourceSearch

https://www.bytesizego.com/

html bytesizego.com collected 2026-09-25 14:22:55 UTC 74,161 bytes, 1,040 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5    <meta charset="UTF-8">
6    <meta name="viewport" content="width=device-width, initial-scale=1.0">
7    <title>ByteSizeGo - Go Language Resources & Courses</title>
8    <meta name="description"
9        content="The best place to learn the Go programming language on the internet - courses, blogs, and guides, for learning Go programming from beginner to advanced levels.">
10    <link rel="canonical" href="https://www.bytesizego.com/">
11    <link rel="icon" href="/static/img/favicon.svg" type="image/svg+xml">
12
13    
14    <meta property="og:title" content="ByteSizeGo - Go Language Resources & Courses">
15    <meta property="og:description"
16        content="The best place to learn the Go programming language on the internet - courses, blogs, and guides. Start your journey with ByteSizeGo!">
17    <meta property="og:image" content="https://www.bytesizego.com/static/img/share.png">
18    <meta property="og:url" content="https://www.bytesizego.com/">
19    <meta property="og:type" content="website">
20
21    
22    <meta name="twitter:card" content="summary_large_image">
23    <meta name="twitter:title" content="ByteSizeGo - Go Language Resources & Courses">
24    <meta name="twitter:description"
25        content="The best place to learn the Go programming language on the internet - courses, blogs, and guides. Start your journey with ByteSizeGo!">
26    <meta name="twitter:image" content="https://www.bytesizego.com/static/img/share.png">
27
28    
29    
29<script type="application/ld+json">
30        {
31            "@context": "https://schema.org",
32            "@type": "Organization",
33            "name": "ByteSizeGo",
34            "url": "https://www.bytesizego.com",
35            "logo": "https://www.bytesizego.com/static/img/logo_with_text.png"
36        }
37    </script>
37
38    <link rel="stylesheet" href="/static/css/style.css">
39    <style type="text/css">@font-face {font-family:'Roboto';font-style:normal;font-weight:300;src:url(/cf-fonts/v/roboto/5.2.10/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:300;src:url(/cf-fonts/v/roboto/5.2.10/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:300;src:url(/cf-fonts/v/roboto/5.2.10/math/wght/normal.woff2);unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:300;src:url(/cf-fonts/v/roboto/5.2.10/greek-ext/wght/normal.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:300;src:url(/cf-fonts/v/roboto/5.2.10/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:300;src:url(/cf-fonts/v/roboto/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:300;src:url(/cf-fonts/v/roboto/5.2.10/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:300;src:url(/cf-fonts/v/roboto/5.2.10/symbols/wght/normal.woff2);unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:300;src:url(/cf-fonts/v/roboto/5.2.10/vietnamese/wght/normal.woff2);
39unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:400;src:url(/cf-fonts/v/roboto/5.2.10/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:400;src:url(/cf-fonts/v/roboto/5.2.10/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:400;src:url(/cf-fonts/v/roboto/5.2.10/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:400;src:url(/cf-fonts/v/roboto/5.2.10/greek-ext/wght/normal.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:400;src:url(/cf-fonts/v/roboto/5.2.10/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:400;src:url(/cf-fonts/v/roboto/5.2.10/math/wght/normal.woff2);unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:400;src:url(/cf-fonts/v/roboto/5.2.10/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:400;src:url(/cf-fonts/v/roboto/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:400;src:url(/cf-fonts/v/roboto/5.2.10/symbols/wght/normal.woff2);unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:500;src:url(/cf-fonts/v/roboto/5.2.10/latin-ext/wght/normal.woff2);
39unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:500;src:url(/cf-fonts/v/roboto/5.2.10/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:500;src:url(/cf-fonts/v/roboto/5.2.10/math/wght/normal.woff2);unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:500;src:url(/cf-fonts/v/roboto/5.2.10/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:500;src:url(/cf-fonts/v/roboto/5.2.10/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:500;src:url(/cf-fonts/v/roboto/5.2.10/symbols/wght/normal.woff2);unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:500;src:url(/cf-fonts/v/roboto/5.2.10/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:500;src:url(/cf-fonts/v/roboto/5.2.10/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:500;src:url(/cf-fonts/v/roboto/5.2.10/greek-ext/wght/normal.woff2);
39unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:700;src:url(/cf-fonts/v/roboto/5.2.10/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:700;src:url(/cf-fonts/v/roboto/5.2.10/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:700;src:url(/cf-fonts/v/roboto/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:700;src:url(/cf-fonts/v/roboto/5.2.10/greek-ext/wght/normal.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:700;src:url(/cf-fonts/v/roboto/5.2.10/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:700;src:url(/cf-fonts/v/roboto/5.2.10/symbols/wght/normal.woff2);unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:700;src:url(/cf-fonts/v/roboto/5.2.10/math/wght/normal.woff2);unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:700;src:url(/cf-fonts/v/roboto/5.2.10/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Roboto';font-style:normal;font-weight:700;src:url(/cf-fonts/v/roboto/5.2.10/latin/wght/normal.woff2);
39unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:700;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:700;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:700;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:700;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:700;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:700;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}</style>
40
41    <style>
42        body{color:#4B5563}
43        a{color:#3B82F6}
44        a:hover{color:#2563EB}
45        h1,h2,h3{color:#111827}
46        .container{display:block;max-width:1200px;margin:0 auto;padding:0 24px}
47        .badge{display:inline-block;background:#10B981;color:#fff;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase}
48        .badge-blue{background:#3B82F6}
49        .badge-amber{background:#fbbf24;color:#111827}
50         
51        .hero{background:#f0f7ff;background-image:radial-gradient(ellipse 70% 90% at 50% -10%,rgba(255,255,255,0.95) 0%,transparent 65%);padding:96px 0 72px}
52        .hero .container{display:flex;flex-direction:column;align-items:center;text-align:center}
53        .hero-badge{display:inline-flex;align-items:center;gap:8px;background:#ffffff;border:1px solid #E5E7EB;border-radius:20px;padding:7px 14px;font-size:13px;font-weight:500;color:#4B5563;box-shadow:0 2px 8px rgba(0,0,0,0.06)}
54        .hero-badge::before{content:'';width:8px;height:8px;border-radius:50%;background:#10B981;animation:pulse-dot 1.5s infinite ease-in-out}
55        .hero h1{font-size:3.6em;font-weight:700;line-height:1.1;letter-spacing:-0.02em;margin:26px 0 20px;text-wrap:balance;max-width:15em}
56        .hero h1 em{font-style:normal;color:#3B82F6}
57        .hero-sub{font-size:1.25em;line-height:1.6;color:#4B5563;margin-bottom:36px;max-width:34em;text-wrap:pretty}
58        .hero-form-wrap{position:relative;width:100%;max-width:480px;margin-top:48px}
59        .hero-gopher{position:absolute;top:-78px;right:14px;width:118px;z-index:0;pointer-events:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,0.12))}
60        .hero-form{display:flex;gap:10px;position:relative;z-index:1}
61        .hero-form input[type="email"]{flex:1;padding:16px 18px;font-size:15px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;color:#111827;font-family:'Roboto',sans-serif;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
62        .hero-form input[type="email"]:focus{outline:none;border-color:#3B82F6;box-shadow:0 0 0 2px rgba(59,130,246,0.25)}
63        .hero-form button{padding:16px 28px;font-size:15px;font-weight:700;font-family:'Roboto',sans-serif;background:#3B82F6;color:#fff;border:none;border-radius:8px;
63cursor:pointer;white-space:nowrap;transition:all 0.2s;box-shadow:0 4px 12px rgba(59,130,246,0.25)}
64        .hero-form button:hover{background:#2563EB;transform:translateY(-1px);box-shadow:0 6px 16px rgba(59,130,246,0.35)}
65        .hero-note{display:block;font-size:13px;color:#6B7280;margin-top:14px}
66        .hero-stats{display:flex;justify-content:center;gap:0;margin-top:64px;flex-wrap:wrap}
67        .hero-stat{padding:0 44px;text-align:center}
68        .hero-stat+.hero-stat{border-left:1px solid rgba(17,24,39,0.1)}
69        .hero-stat strong{display:block;font-size:2em;font-weight:700;color:#111827;letter-spacing:-0.01em}
70        .hero-stat span{font-size:0.95em;color:#6B7280}
71        @media (max-width:900px){.hero{padding:60px 0 52px}.hero h1{font-size:2.4em}.hero-form{flex-direction:column}.hero-stats{margin-top:44px}.hero-stat{padding:0 20px}}
72        @media (max-width:600px){.hero-stats{flex-direction:column;gap:20px}.hero-stat+.hero-stat{border-left:none}}
73         
74        .goflow-section{background:linear-gradient(135deg,#10B981 0%,#059669 100%);padding:80px 0;position:relative;overflow:hidden}
75        .goflow-section::before{content:'';position:absolute;top:-50%;left:-20%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(255,255,255,0.1) 0%,transparent 70%);pointer-events:none}
76        .goflow-container{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:64px}
77        .goflow-content h2{font-size:2.5em;font-weight:700;color:#ffffff;margin:16px 0 14px;text-wrap:pretty}
78        .goflow-content>p{font-size:1.15em;color:#ffffff;margin-bottom:22px;line-height:1.6;max-width:30em;text-wrap:pretty}
79        .goflow-features{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-direction:column;gap:10px}
80        .goflow-features li{font-size:15.5px;color:#ffffff;line-height:1.5;display:flex;align-items:baseline;gap:10px}
81        .goflow-features li::before{content:'✓';font-weight:700;color:#fbbf24}
82        .goflow-buttons{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
83        .goflow-cta-button{background:#ffffff;color:#059669;padding:16px 32px;font-family:'Roboto',sans-serif;font-size:16px;font-weight:bold;border:none;border-radius:8px;cursor:pointer;transition:all 0.3s;box-shadow:0 4px 15px rgba(0,0,0,0.15)}
84        .goflow-cta-button:hover{background:#fbbf24;color:#111827;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.2)}
85        .goflow-free{color:rgba(255,255,255,0.85);font-size:14px;font-weight:500}
86         
87        .goflow-demo{position:relative;max-width:440px;margin:0 auto;width:100%}
88        .goflow-app{background:#111827;border-radius:16px;padding:22px;box-shadow:0 24px 60px rgba(0,0,0,0.35);border:1px solid #374151}
89        .goflow-app-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
90        .goflow-pills{display:flex;gap:8px}
91        .goflow-pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;background:#1f2937;border:1px solid #374151;border-radius:20px;padding:5px 11px;font-size:12.5px;font-weight:700;color:#fff}
92        .goflow-progress{height:10px;background:#1f2937;border-radius:6px;overflow:hidden;margin-bottom:18px}
93        .goflow-progress span{display:block;height:100%;width:64%;background:#58cc02;border-radius:6px}
94        .goflow-q{color:#9CA3AF;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:10px}
95        .goflow-code{white-space:pre-wrap;background:#1f2937;border:1px solid #374151;border-radius:10px;padding:16px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13.5px;line-height:1.7;color:#E5E7EB;margin-bottom:14px;overflow-x:auto}
96        .goflow-code .kw{color:#3B82F6}
97        .goflow-code .st{color:#10B981}
98        .goflow-code .blank{display:inline-block;min-width:74px;border-bottom:2px dashed #6B7280;color:#fbbf24;text-align:center;font-weight:700}
99        .goflow-choices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
100        .goflow-choice{background:#1f2937;border:1px solid #374151;border-radius:8px;padding:8px 14px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;color:#fff}
101        .goflow-choice.picked{border-color:#58cc02;color:#58cc02;box-shadow:0 0 0 1px #58cc02 inset}
102        .goflow-check{width:100%;background:#58cc02;color:#111827;border:none;border-radius:10px;padding:13px;font-family:'Roboto',sans-serif;font-size:15px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;box-shadow:0 4px 0 #3d8c01;cursor:pointer}
103        .goflow-xp{position:absolute;top:-14px;right:-10px;background:#fbbf24;color:#111827;font-weight:700;font-size:13px;border-radius:20px;padding:6px 12px;box-shadow:0 4px 12px rgba(0,0,0,0.25);z-index:1}
104        .goflow-demo-gopher{position:absolute;bottom:-24px;left:-58px;width:120px;filter:drop-shadow(0 8px 20px rgba(0,0,0,0.3))}
105        @media (max-width:900px){.goflow-container{grid-template-columns:1fr;text-align:center}.goflow-features{text-align:left;max-width:420px;margin:0 auto 30px}.goflow-buttons{justify-content:center}.goflow-content h2{font-size:2em}.goflow-demo{margin-top:24px}.goflow-demo-gopher{width:84px;left:-12px;bottom:-18px}}
106        @media (max-width:520px){.goflow-demo-gopher{display:none}}
107         
108        .courses-section{background:#ffffff;padding:80px 0}
109        .section-head{text-align:center;max-width:640px;margin:0 auto 48px}
110        .section-head h2{font-size:2.5em;font-weight:700;margin:14px 0 12px}
111        .section-head p{font-size:1.15em;line-height:1.6;color:#4B5563;text-wrap:pretty}
112        .course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
113        .course-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.08);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform 0.3s,box-shadow 0.3s}
114        .course-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,0.15);color:inherit}
115        .course-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
116        .course-card-body{padding:20px;display:flex;flex-direction:column;flex:1;gap:8px}
117        .course-card h3{font-size:1.15em;line-height:1.35}
118        .course-card-meta{font-size:0.85em;color:#6B7280}
119        .course-card-link{margin-top:auto;padding-top:8px;color:#3B82F6;font-weight:bold;font-size:0.95em}
120        .course-card:hover .course-card-link{color:#2563EB}
121        .course-card-badges{display:flex;gap:8px}
122        .courses-cta{text-align:center;margin-top:44px}
123        .courses-cta a{font-weight:bold;font-size:1.1em;text-decoration:none}
124        @media (max-width:1000px){.course-grid{grid-template-columns:repeat(2,1fr)}}
125        @media (max-width:600px){.course-grid{grid-template-columns:1fr}}
126         
127        .jobs-hero{background:#111827;padding:80px 24px;border-top:3px solid #3B82F6}
128        .jobs-hero-container{max-width:700px;margin:0 auto;text-align:center}
129        .jobs-hero h2{font-size:2.4em;font-weight:700;color:#ffffff;margin:16px 0 12px;line-height:1.2}
130        .jobs-hero p{font-size:1.1em;color:#9CA3AF;margin:0 0 28px;line-height:1.6}
131        .jobs-hero-logos{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}
132        .jobs-hero-logos img{width:32px;height:32px;border-radius:8px;border:2px solid #374151;background:#1f2937;opacity:0.9}
133        .jobs-hero-logos-more{font-size:14px;font-weight:600;color:#6B7280;margin-left:4px}
134        .jobs-hero-form{display:flex;flex-direction:column;align-items:center;gap:12px}
135        .jobs-hero-form form{display:flex;gap:10px;width:100%;max-width:480px}
136        .jobs-hero-form input[type="email"]{flex:1;padding:14px 16px;font-size:15px;border:1px solid #374151;border-radius:8px;background:#1f2937;color:#fff;font-family:'Roboto',sans-serif}
137        .jobs-hero-form input[type="email"]::placeholder{color:#6B7280}
138        .jobs-hero-form input[type="email"]:focus{outline:none;border-color:#3B82F6;box-shadow:0 0 0 2px rgba(59,130,246,0.25)}
139        .jobs-hero-form button{padding:14px 24px;font-size:15px;font-weight:700;font-family:'Roboto',sans-serif;background:#3B82F6;color:#fff;border:none;border-radius:8px;cursor:pointer;white-space:nowrap;transition:all 0.2s}
140        .jobs-hero-form button:hover{background:#2563EB;transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,0.3)}
141        .jobs-hero-social{font-size:13px;color:#6B7280}
142        @media (max-width:768px){.jobs-hero{padding:56px 20px}.jobs-hero h2{font-size:1.8em}.jobs-hero-form form{flex-direction:column}}
143         
144        .resources-section{padding:80px 24px;background-color:#f0f7ff;color:#4B5563;text-align:left}
145        .resources-head{max-width:1200px;margin:0 auto 36px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
146        .resources-head h2{font-size:2.5em;font-weight:700;color:#111827;margin:14px 0 0}
147        .resources-head-cta{font-weight:bold;font-size:1.05em;text-decoration:none;white-space:nowrap;padding-bottom:6px}
148        .featured-resource{display:block;max-width:1200px;margin:0 auto 30px;text-decoration:none;color:inherit}
149        .featured-resource:hover{color:inherit}
150        .featured-resource-inner{display:flex;align-items:center;gap:36px;background:linear-gradient(135deg,#111827 0%,#1f2937 100%);border-radius:12px;padding:36px 40px;box-shadow:0 4px 15px rgba(0,0,0,0.15);transition:transform 0.3s,box-shadow 0.3s;position:relative;overflow:hidden}
151        .featured-resource-inner::before{content:'';position:absolute;top:-60%;right:-10%;width:50%;height:220%;background:radial-gradient(ellipse,rgba(59,130,246,0.15) 0%,transparent 70%);pointer-events:none}
152        .featured-resource:hover .featured-resource-inner{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,0.2)}
153        .featured-resource-img{width:200px;height:auto;border-radius:8px;flex-shrink:0;position:relative}
154        .featured-resource-text{position:relative}
155        .featured-resource-text h3{font-size:1.8em;color:#ffffff;margin:12px 0;line-height:1.25;text-wrap:pretty}
156        .featured-resource-text p{font-size:1em;color:#E5E7EB;line-height:1.6;margin:0 0 18px;max-width:44em}
157        .featured-resource-link{color:#3B82F6;font-weight:bold}
158        .featured-resource:hover .featured-resource-link{color:#60A5FA}
159        @media (max-width:768px){.featured-resource-inner{flex-direction:column;text-align:center;padding:28px}.featured-resource-img{width:140px}.featured-resource-text h3{font-size:1.35em}}
160        .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto}
161        .blog-card{background:white;border-radius:8px;padding:26px;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:transform 0.3s,box-shadow 0.3s;display:flex;flex-direction:column;text-decoration:none;color:inherit}
162        .blog-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,0.15);color:inherit}
163        .blog-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
164        .blog-tag{display:inline-block;background:rgba(59,130,246,0.1);color:#2563EB;padding:4px 10px;border-radius:4px;font-size:10.5px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase}
165        .blog-date{color:#6B7280;font-size:0.85em;font-weight:500;white-space:nowrap}
166        .blog-card h3{font-size:1.25em;color:#111827;margin:10px 0;line-height:1.35;text-wrap:pretty}
167        .blog-card p{color:#4B5563;font-size:0.95em;line-height:1.6;margin-bottom:18px}
168        .blog-link{color:#3B82F6;font-weight:bold;font-size:0.95em;transition:color 0.3s;margin-top:auto}
169        .blog-card:hover .blog-link{color:#2563EB}
170        .resources-foot{max-width:1200px;margin:40px auto 0;text-align:center}
171        .blog-grid-cta{display:inline-block;background:linear-gradient(to right,#3B82F6,#2563EB);color:#fff;padding:15px 40px;border-radius:8px;font-size:1.1em;font-weight:bold;text-decoration:none;box-shadow:0 4px 15px rgba(59,130,246,0.3);transition:transform 0.3s,box-shadow 0.3s}
172        .blog-grid-cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,0.4)}
173        @media (max-width:1000px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
174        @media (max-width:640px){.blog-grid{grid-template-columns:1fr}.blog-card{padding:20px}.resources-head{flex-direction:column;align-items:flex-start}}
175    </style>
176</head>
177
178<body><a href="https://www.bytesizego.com/cdn-cgi/content?id=GtWXwdb.f.nOh0Fah1wt4ezFwL9drDWadgKz8L5Us2E-1790346174.8570576-1.2.1.1-U_Q.uAbhSG9URLzi3rgx8z2H1nTiOIfoLItztwquLraH.HmaDD9dg3gcMq0O9tdz" aria-hidden="true" rel="nofollow noopener" style="display: none !important; visibility: hidden !important"></a>
179    
180    <header>
181        <style>
182             
183            * {
184                margin: 0;
185                padding: 0;
186                box-sizing: border-box;
187            }
188
189             
190            header {
191                width: 100%;
192            }
193
194            nav {
195                width: 100%;
196                display: flex;
197                justify-content: space-between;
198                align-items: center;
199                background-color: #111827;
200                padding: 1em 3em;
201            }
202
203            .logo {
204                max-height: 35px;
205            }
206
207            .nav-links {
208                list-style: none;
209                display: flex;
210                gap: 2em;
211            }
212
213            .nav-links a {
214                color: #ffffff;
215                text-decoration: none;
216                font-weight: bold;
217                font-size: 1.05em;
218                position: relative;  
219            }
220
221            .nav-links a:hover {
222                color: #9CA3AF;
223            }
224
225            @keyframes pulse-dot {
226                0%   { transform: scale(1);   opacity: 1;   }
227                50%  { transform: scale(1.4); opacity: 0.7; }
228                100% { transform: scale(1);   opacity: 1;   }
229            }
230
231             
232            .login-button {
233                padding: 0.7em 1.5em;
234                font-size: 1.05em;
235                font-weight: bold;
236                background-color: #3B82F6;
237                color: #ffffff;
238                border: none;
239                border-radius: 8px;
240                cursor: pointer;
241                transition: all 0.2s ease;
242            }
243
244            .login-button:hover {
245                background-color: #2563EB;
246                transform: translateY(-1px);
247                box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
248            }
249
250            #login-container {
251                display: flex;
252                align-items: center;
253            }
254
255             
256            .account-dropdown {
257                position: relative;
258            }
259
260            .account-dropdown-toggle {
261                color: #ffffff;
262                font-weight: bold;
263                font-size: 1.1em;
264                cursor: pointer;
265                background: none;
266                border: 1px solid rgba(255, 255, 255, 0.3);
267                border-radius: 6px;
268                padding: 0.5em 1em;
269                display: flex;
270                align-items: center;
271                gap: 0.4em;
272                transition: background-color 0.2s ease;
273            }
274
275            .account-dropdown-toggle:hover {
276                background-color: rgba(255, 255, 255, 0.1);
277            }
278
279            .account-dropdown-toggle .arrow {
280                font-size: 0.7em;
281                transition: transform 0.2s ease;
282            }
283
284            .account-dropdown.open .account-dropdown-toggle .arrow {
285                transform: rotate(180deg);
286            }
287
288            .account-dropdown-menu {
289                display: none;
290                position: absolute;
291                top: calc(100% + 0.5em);
292                right: 0;
293                background-color: #1f2937;
294                border-radius: 8px;
295                padding: 0.5em 0;
296                min-width: 200px;
297                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
298                z-index: 100;
299            }
300
301            .account-dropdown.open .account-dropdown-menu {
302                display: block;
303            }
304
305            .account-dropdown-menu a {
306                display: block;
307                color: #ffffff;
308                text-decoration: none;
309                padding: 0.6em 1.2em;
310                font-size: 0.95em;
311                transition: background-color 0.15s ease;
312            }
313
314            .account-dropdown-menu a:hover {
315                background-color: rgba(255, 255, 255, 0.1);
316            }
317
318            .account-dropdown-menu hr {
319                border: none;
320                border-top: 1px solid rgba(255, 255, 255, 0.15);
321                margin: 0.3em 0;
322            }
323
324             
325            .hamburger {
326                display: none;
327                width: 44px;
328                height: 44px;
329                padding: 0;
330                align-items: center;
331                justify-content: center;
332                color: #ffffff;
333                cursor: pointer;
334                background: none;
335                border: none;
336                border-radius: 8px;
337                transition: background-color 0.2s ease;
338            }
339
340            .hamburger:hover,
341            .hamburger:focus-visible {
342                background-color: rgba(255, 255, 255, 0.1);
343            }
344
345            .hamburger:focus-visible,
346            .close-icon:focus-visible,
347            .mobile-menu-link:focus-visible {
348                outline: 2px solid #10B981;
349                outline-offset: 2px;
350            }
351
352            .hamburger svg {
353                width: 24px;
354                height: 24px;
355                fill: none;
356                stroke: currentColor;
357                stroke-linecap: round;
358                stroke-width: 2;
359            }
360
361            @media (max-width: 1100px) {
362                .hamburger {
363                    display: flex;
364                }
365
366                .nav-links,
367                #login-container,
368                .account-dropdown {
369                    display: none;
370                }
371            }
372
373             
374            .menu-overlay {
375                display: flex;
376                position: fixed;
377                top: 0;
378                right: 0;
379                bottom: 0;
380                left: 0;
381                background-color: rgba(0, 0, 0, 0.5);
382                z-index: 1000;
383                justify-content: flex-end;
384                align-items: flex-start;
385                padding: calc(4.5rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));
386                opacity: 0;
387                visibility: hidden;
388                pointer-events: none;
389                transition: opacity 0.2s ease, visibility 0.2s ease;
390            }
391
392            .menu-overlay.is-open {
393                opacity: 1;
394                visibility: visible;
395                pointer-events: auto;
396            }
397
398            .menu-content {
399                position: relative;
400                background-color: #ffffff;
401                border: 1px solid #E5E7EB;
402                border-radius: 22px;
403                padding: 0.75rem;
404                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
405                width: min(100%, 420px);
406                max-height: calc(100dvh - 5.5rem);
407                overflow-y: auto;
408                opacity: 0;
409                transform: translateY(-8px) scale(0.98);
410                transform-origin: top right;
411                transition: opacity 0.2s ease, transform 0.2s ease;
412            }
413
414            .menu-overlay.is-open .menu-content {
415                opacity: 1;
416                transform: translateY(0) scale(1);
417            }
418
419            .menu-header {
420                display: flex;
421                justify-content: flex-end;
422                margin-bottom: 0.15rem;
423            }
424
425            .menu-content ul {
426                list-style: none;
427                padding: 0;
428                margin: 0;
429            }
430
431            .menu-content ul li {
432                margin: 0;
433            }
434
435            .menu-content a.mobile-menu-link {
436                display: flex;
437                align-items: center;
438                gap: 0.75rem;
439                width: 100%;
440                min-height: 48px;
441                padding: 0.35rem 0;
442                border-bottom: 1px solid #E5E7EB;
443                color: #111827;
444                text-decoration: none;
445                font-size: 1rem;
446                font-weight: bold;
447                margin-left: 0;
448            }
449
450            .menu-content a.mobile-menu-link:hover {
451                color: #111827;
452            }
453
454            .menu-icon-wrap {
455                display: inline-flex;
456                flex: 0 0 36px;
457                width: 36px;
458                height: 36px;
459                align-items: center;
460                justify-content: center;
461                color: #111827;
462                background-color: #F9FAFB;
463                border: 1px solid #E5E7EB;
464                border-radius: 10px;
465            }
466
467            .mobile-menu-link:hover .menu-icon-wrap {
468                color: #ffffff;
469                background-color: #1f2937;
470                border-color: #1f2937;
471            }
472
473            .menu-icon-wrap svg {
474                width: 20px;
475                height: 20px;
476                fill: none;
477                stroke: currentColor;
478                stroke-linecap: round;
479                stroke-linejoin: round;
480                stroke-width: 1.8;
481            }
482
483            .mobile-menu-label {
484                flex: 1;
485            }
486
487            .mobile-menu-account {
488                margin-top: 0.5rem;
489                padding-top: 0.5rem;
490                border-top: 1px solid #E5E7EB;
491            }
492
493            .mobile-menu-account > li:last-child .mobile-menu-link,
494            .mobile-menu-list > li:last-child .mobile-menu-link {
495                border-bottom: none;
496            }
497
498            .menu-content a.mobile-menu-action {
499                min-height: 48px;
500                margin-top: 0.5rem;
501                padding: 0.6rem 1rem;
502                color: #ffffff;
503                background-color: #111827;
504                border: none;
505                border-radius: 14px;
506            }
507
508            .menu-content a.mobile-menu-action:hover {
509                color: #ffffff;
510                background-color: #1f2937;
511            }
512
513            .mobile-menu-action .menu-icon-wrap {
514                flex-basis: 32px;
515                width: 32px;
516                height: 32px;
517                color: #10B981;
518                background: none;
519                border: none;
520                animation: none !important;
521                transition: none !important;
522                transform: none !important;
523            }
524
525            .mobile-menu-action:hover .menu-icon-wrap {
526                color: #10B981;
527                background: none;
528                border: none;
529            }
530
531            .mobile-menu-arrow {
532                color: #10B981;
533                font-size: 1.5rem;
534                line-height: 1;
535                animation: none !important;
536                transition: none !important;
537                transform: none !important;
538            }
539
540            .close-icon {
541                position: relative;
542                display: inline-flex;
543                width: 36px;
544                height: 36px;
545                align-items: center;
546                justify-content: center;
547                cursor: pointer;
548                color: #111827;
549                background-color: #F9FAFB;
550                border: 1px solid #E5E7EB;
551                border-radius: 999px;
552            }
553
554            .close-icon:hover {
555                background-color: #E5E7EB;
556            }
557
558            .close-icon::before,
559            .close-icon::after {
560                position: absolute;
561                width: 17px;
562                height: 2px;
563                content: "";
564                background-color: #111827;
565                border-radius: 999px;
566            }
567
568            .close-icon::before {
569                transform: rotate(45deg);
570            }
571
572            .close-icon::after {
573                transform: rotate(-45deg);
574            }
575
576            @media (prefers-reduced-motion: reduce) {
577                .menu-overlay,
578                .menu-content,
579                .mobile-menu-link,
580                .menu-icon-wrap,
581                .close-icon {
582                    transition: none;
583                }
584            }
585        </style>
586
587        <nav>
588            
589            <a href="/">
590                <img src="/static/img/logo.png" alt="ByteSizeGo Logo" class="logo">
591            </a>
592
593            
594            <ul class="nav-links">
595                
596                <li><a href="/goflow-landing">GoFlow</a></li>
597
598                <li><a href="/blog">Blog</a></li>
599                <li><a href="/books">Books</a></li>
600                <li><a href="/courses">Courses</a></li>
601
602                    <li>
603                    <a href="/lessons">Lessons</a>
604                </li>
605
606                <li><a href="/golang-jobs">Golang Jobs</a></li>
607            </ul>
608
609            
610            
611                
612                <div id="login-container">
613                    <a href="/login">
614                        <button class="login-button">Login</button>
615                    </a>
616                </div>
617            
618
619            
620            <button class="hamburger" id="mobile-menu-toggle" type="button" aria-label="Open navigation menu"
621                aria-controls="menu-overlay" aria-expanded="false">
622                <svg viewBox="0 0 24 24" aria-hidden="true">
623                    <path d="M4 7h16M4 12h16M4 17h16"></path>
624                </svg>
625            </button>
626        </nav>
627
628        
629        <div class="menu-overlay" id="menu-overlay" aria-hidden="true">
630            <div class="menu-content" role="dialog" aria-modal="true" aria-label="Site navigation">
631                <div class="menu-header">
632                    <button class="close-icon" id="mobile-menu-close" type="button" aria-label="Close navigation menu"></button>
633                </div>
634                <ul class="mobile-menu-list">
635                    
636                    <li>
637                        <a class="mobile-menu-link" href="/goflow-landing">
638                            <span class="menu-icon-wrap" aria-hidden="true">
639                                <svg viewBox="0 0 24 24">
640                                    <circle cx="5" cy="17" r="2"></circle>
641                                    <circle cx="19" cy="7" r="2"></circle>
642                                    <circle cx="19" cy="17" r="2"></circle>
643                                    <path d="M7 17h3a3 3 0 0 0 3-3v-4a3 3 0 0 1 3-3h1M13 13h4"></path>
644                                </svg>
645                            </span>
646                            <span class="mobile-menu-label">GoFlow</span>
647                        </a>
648                    </li>
649                    <li>
650                        <a class="mobile-menu-link" href="/blog">
651                            <span class="menu-icon-wrap" aria-hidden="true">
652                                <svg viewBox="0 0 24 24">
653                                    <path d="M7 3h7l4 4v14H7z"></path>
654                                    <path d="M14 3v5h4M10 12h5M10 16h5"></path>
655                                </svg>
656                            </span>
657                            <span class="mobile-menu-label">Blog</span>
658                        </a>
659                    </li>
660                    <li>
661                        <a class="mobile-menu-link" href="/books">
662                            <span class="menu-icon-wrap" aria-hidden="true">
663                                <svg viewBox="0 0 24 24">
664                                    <path d="M3 5.5A3.5 3.5 0 0 1 6.5 2H11v17H6.5A3.5 3.5 0 0 0 3 22z"></path>
665                                    <path d="M21 5.5A3.5 3.5 0 0 0 17.5 2H13v17h4.5A3.5 3.5 0 0 1 21 22z"></path>
666                                </svg>
667                            </span>
668                            <span class="mobile-menu-label">Books</span>
669                        </a>
670                    </li>
671                    <li>
672                        <a class="mobile-menu-link" href="/courses">
673                            <span class="menu-icon-wrap" aria-hidden="true">
674                                <svg viewBox="0 0 24 24">
675                                    <path d="m3 9 9-5 9 5-9 5z"></path>
676                                    <path d="M7 12v5l5 3 5-3v-5M21 9v6"></path>
677                                </svg>
678                            </span>
679                            <span class="mobile-menu-label">Courses</span>
680                        </a>
681                    </li>
682
683                    <li>
684                        <a class="mobile-menu-link" href="/lessons">
685                            <span class="menu-icon-wrap" aria-hidden="true">
686                                <svg viewBox="0 0 24 24">
687                                    <rect x="3" y="4" width="18" height="16" rx="2"></rect>
688                                    <path d="m10 9 5 3-5 3z"></path>
689                                </svg>
690                            </span>
691                            <span class="mobile-menu-label">Lessons</span>
692                        </a>
693                    </li>
694
695                    <li>
696                        <a class="mobile-menu-link" href="/golang-jobs">
697                            <span class="menu-icon-wrap" aria-hidden="true">
698                                <svg viewBox="0 0 24 24">
699                                    <rect x="3" y="7" width="18" height="13" rx="2"></rect>
700                                    <path d="M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 12h18M10 12v2h4v-2"></path>
701                                </svg>
702                            </span>
703                            <span class="mobile-menu-label">Golang Jobs</span>
704                        </a>
705                    </li>
706                </ul>
707
708                <ul class="mobile-menu-account">
709                    
710                        <li>
711                            <a class="mobile-menu-link mobile-menu-action" href="/login">
712                                <span class="menu-icon-wrap" aria-hidden="true">
713                                    <svg viewBox="0 0 24 24">
714                                        <circle cx="12" cy="8" r="3"></circle>
715                                        <path d="M6 20c0-3.5 2.5-6 6-6s6 2.5 6 6"></path>
716                                    </svg>
717                                </span>
718                                <span class="mobile-menu-label">Login</span>
719                                <span class="mobile-menu-arrow" aria-hidden="true">→</span>
720                            </a>
721                        </li>
722                    
723                </ul>
724            </div>
725        </div>
726
727        
727<script>
728            function toggleAccountDropdown(event) {
729                event.stopPropagation();
730                var dropdown = document.getElementById('account-dropdown');
731                if (dropdown) { dropdown.classList.toggle('open'); }
732            }
733            document.addEventListener('click', function(event) {
734                var dropdown = document.getElementById('account-dropdown');
735                if (dropdown && !dropdown.contains(event.target)) {
736                    dropdown.classList.remove('open');
737                }
738            });
739        </script>
739
740        
740<script src="/static/js/script.js?v=6"></script>
740
741        
741<script src="https://fast.bentonow.com?site_uuid=77ba1068153ffaf18360acbab277ce23" async defer></script>
741
742    </header>
743
744
745    
746    <section class="hero">
747        <div class="container">
748            <span class="hero-badge">Join 5,000+ Go developers</span>
749            <h1>The best place to learn <em>Go</em> on the internet</h1>
750            <p class="hero-sub">Bite-sized lessons, deep courses, and a gamified practice app — everything you need to
751                go from "Hello, World" to production systems.</p>
752            <div class="hero-form-wrap">
753                <img src="/static/img/gopher-mascot.png" alt="ByteSizeGo gopher mascot" class="hero-gopher">
754                <form class="hero-form bento-capture"
755                    action="https://track.bentonow.com/forms/77ba1068153ffaf18360acbab277ce23/subscribe_jobs?hardened=true"
756                    method="POST">
757                    <input type="hidden" name="redirect" value="https://bytesizego.com/thank-you">
758                    <input type="email" name="email" placeholder="Enter your email" required
759                        pattern="[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,}$">
760                    <button type="submit">Start Learning Free</button>
761                </form>
762            </div>
763            <span class="hero-note">One useful email at a time — no spam, unsubscribe anytime.</span>
764            <div class="hero-stats">
765                <div class="hero-stat"><strong>176+</strong><span>interactive exercises</span></div>
766                <div class="hero-stat"><strong>236</strong><span>free blog posts</span></div>
767                <div class="hero-stat"><strong>30+</strong><span>hours of courses</span></div>
768            </div>
769        </div>
770    </section>
771
772    
773    <section class="goflow-section">
774        <div class="container goflow-container">
775            <div class="goflow-content">
776                <span class="badge badge-amber">New</span>
777                <h2>Learn Go the Fun Way with GoFlow</h2>
778                <p>Master Go through bite-sized, interactive exercises. Earn XP, build streaks, and level up your
779                    skills — one lesson at a time.</p>
780                <ul class="goflow-features">
781                    <li>176+ interactive exercises you can finish in minutes</li>
782                    <li>Earn XP, keep daily streaks, and level up your gopher</li>
783                    <li>Real Go code from day one — no setup required</li>
784                </ul>
785                <div class="goflow-buttons">
786                    <a href="/goflow-landing"><button class="goflow-cta-button">Start Learning Free</button></a>
787                    <span class="goflow-free">Free to start — no card required</span>
788                </div>
789            </div>
790            <div class="goflow-demo">
791                <span class="goflow-xp">+10 XP</span>
792                <div class="goflow-app">
793                    <div class="goflow-app-top">
794                        <div class="goflow-pills"><span class="goflow-pill">🔥 7</span><span class="goflow-pill">⚡ 240
795                                XP</span></div>
796                        <span class="goflow-pill">❤️ 5</span>
797                    </div>
798                    <div class="goflow-progress"><span></span></div>
799                    <div class="goflow-q">Fill in the blank</div>
800                    <div class="goflow-code"><span class="kw">func</span> main() {
801&nbsp;&nbsp;msg := <span class="st">"Hello, Gopher!"</span>
802&nbsp;&nbsp;<span class="blank">fmt.Println</span>(msg)
803}</div>
804                    <div class="goflow-choices"><span class="goflow-choice picked">fmt.Println</span><span
805                            class="goflow-choice">log.Fatal</span><span class="goflow-choice">print()</span></div>
806                    <button class="goflow-check">Check Answer</button>
807                </div>
808                <img src="/static/img/goflow-gopher.png" alt="GoFlow Gopher Mascot" class="goflow-demo-gopher">
809            </div>
810        </div>
811    </section>
812
813    
814    <section class="courses-section">
815        <div class="container">
816            <div class="section-head">
817                <span class="badge badge-blue">Courses</span>
818                <h2>Go deep, one course at a time</h2>
819                <p>Production-focused video courses used by engineers at some of the biggest companies in the world.</p>
820            </div>
821            <div class="course-grid">
822                <a href="/courses/ai-engineering-with-go" class="course-card">
823                    <img src="/static/img/ai-engineering-course.webp" alt="AI Engineering with Go">
824                    <div class="course-card-body">
825                        <div class="course-card-badges"><span class="badge">New</span><span
826                                class="badge badge-amber">$99</span></div>
827                        <h3>AI Engineering with Go</h3>
828                        <span class="course-card-meta">43 Lessons • 13+ Hours</span>
829                        <span class="course-card-link">Learn More →</span>
830                    </div>
831                </a>
832                <a href="/courses/grpc-with-go" class="course-card">
833                    <img src="/static/img/course_grpc.webp" alt="Building Production-Ready Services with gRPC and Go">
834                    <div class="course-card-body">
835                        <div class="course-card-badges"><span class="badge badge-amber">$99</span></div>
836                        <h3>Building Production-Ready Services with gRPC and Go</h3>
837                        <span class="course-card-meta">11+ Hours</span>
838                        <span class="course-card-link">Learn More →</span>
839                    </div>
840                </a>
841                <a href="/courses/the-ultimate-guide-to-debugging-with-go" class="course-card">
842                    <img src="/static/img/course_debug.webp" alt="The Ultimate Guide to Debugging with Go">
843                    <div class="course-card-body">
844                        <div class="course-card-badges"><span class="badge badge-amber">$99</span></div>
845                        <h3>The Ultimate Guide to Debugging with Go</h3>
846                        <span class="course-card-meta">50 Lessons</span>
847                        <span class="course-card-link">Learn More →</span>
848                    </div>
849                </a>
850                <a href="/courses/go-1-23-in-23-minutes" class="course-card">
851                    <img src="/static/img/course_go_123.webp" alt="Go 1.23 in 23 minutes">
852                    <div class="course-card-body">
853                        <div class="course-card-badges"><span class="badge">Free</span></div>
854                        <h3>Go 1.23 in 23 minutes</h3>
855                        <span class="course-card-meta">6 Lessons • 23 Minutes</span>
856                        <span class="course-card-link">Learn More →</span>
857                    </div>
858                </a>
859            </div>
860            <div class="courses-cta"><a href="/courses">View all courses →</a></div>
861        </div>
862    </section>
863
864    
865    <section class="jobs-hero">
866        <div class="jobs-hero-container">
867            <span class="badge badge-blue">Free List</span>
868            <h2>58 Companies Hiring Go Engineers in 2026</h2>
869            <p>Careers pages, remote policies, and how each company uses Go in production.</p>
870            <div class="jobs-hero-logos">
871                <img src="/static/img/logos/google.png" alt="Google">
872                <img src="/static/img/logos/cloudflare.png" alt="Cloudflare">
873                <img src="/static/img/logos/docker.png" alt="Docker">
874                <img src="/static/img/logos/shopify.png" alt="Shopify">
875                <img src="/static/img/logos/datadog.png" alt="Datadog">
876                <img src="/static/img/logos/hashicorp.png" alt="HashiCorp">
877                <span class="jobs-hero-logos-more">+52</span>
878            </div>
879            <div class="jobs-hero-form">
880                <form class="bento-capture"
881                    action="https://track.bentonow.com/forms/77ba1068153ffaf18360acbab277ce23/subscribe_jobs?hardened=true"
882                    method="POST">
883                    <input type="hidden" name="redirect" value="https://bytesizego.com/thank-you">
884                    <input type="email" name="email" placeholder="Enter your email" required
885                        pattern="[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,}$">
886                    <button type="submit">Send Me the Free List</button>
887                </form>
888                <span class="jobs-hero-social">Join 5,000+ Go developers</span>
889            </div>
890        </div>
891    </section>
892
893    
894    <section class="resources-section">
895        <div class="resources-head">
896            <div>
897                <span class="badge badge-blue">Blog</span>
898                <h2>Latest from the blog</h2>
899            </div>
900            <a href="/blog" class="resources-head-cta">Read all 236 posts →</a>
901        </div>
902        <a href="/blog/learning-golang-2026" class="featured-resource">
903            <div class="featured-resource-inner">
904                <img src="/static/img/jr_to_snr.webp" alt="Learning Go in 2026" class="featured-resource-img">
905                <div class="featured-resource-text">
906                    <span class="badge badge-blue">Learning Path</span>
907                    <h3>Learning Go in 2026; from beginner to senior</h3>
908                    <p>A curated guide of all the best content to help you advance your Go journey — from your first
909                        "Hello, World" to production systems.</p>
910                    <span class="featured-resource-link">Read Free Now →</span>
911                </div>
912            </div>
913        </a>
914        <div class="blog-grid">
915            
916            <a class="blog-card" href="/blog/how-io-reader-and-io-writer-keep-go-apis-composable">
917                <div class="blog-card-top"><span class="blog-tag">getting started with go</span><span class="blog-date">Sep 20, 2026</span></div>
918                <h3>How io.Reader and io.Writer Keep Go APIs Composable</h3>
919                <p>Partial reads, EOF handling, io.Copy's fast paths, TeeReader and MultiWriter, buffering, and testing streams.</p>
920                <span class="blog-link">Read More →</span>
921            </a>
922            <a class="blog-card" href="/blog/table-driven-tests-in-go-subtests-parallelism-and-keeping-th">
923                <div class="blog-card-top"><span class="blog-tag">best practises</span><span class="blog-date">Sep 19, 2026</span></div>
924                <h3>Table-Driven Tests in Go: Subtests, Parallelism, and Keeping the Table Readable</h3>
925                <p>Structuring Go table tests so failures tell you which case broke: t.Run naming, parallel subtests, t.Helper, golden files, and the point where a plain test function wins.</p>
926                <span class="blog-link">Read More →</span>
927            </a>
928            <a class="blog-card" href="/blog/go-1-27-generic-methods-encoding-json-v2-and-what-actually-c">
929                <div class="blog-card-top"><span class="blog-tag">advanced topics</span><span class="blog-date">Sep 18, 2026</span></div>
930                <h3>Go 1.27: Generic Methods, encoding/json/v2, and What Actually Changes in Your Code</h3>
931                <p>Generic methods, nested struct literal keys, encoding/json/v2, a uuid package, cheaper small allocations. What to use, what to test before you ship the upgrade.</p>
932                <span class="blog-link">Read More →</span>
933            </a>
934            <a class="blog-card" href="/blog/go-build-constraints-go-build-syntax-filename-suffixes-and-c">
935                <div class="blog-card-top"><span class="blog-tag">advanced topics</span><span class="blog-date">Sep 16, 2026</span></div>
936                <h3>Go Build Constraints: //go:build Syntax, Filename Suffixes, and Custom Tags</h3>
937                <p>How go:build expressions and filename suffixes decide which Go files compile, plus custom tags, cgo constraints, and testing across platforms.</p>
938                <span class="blog-link">Read More →</span>
939            </a>
940            <a class="blog-card" href="/blog/testing-http-handlers-in-go-with-httptest-recorders-servers">
941                <div class="blog-card-top"><span class="blog-tag">best practises</span><span class="blog-date">Sep 15, 2026</span></div>
942                <h3>Testing HTTP Handlers in Go with httptest: Recorders, Servers, and Table Tests</h3>
943                <p>Testing Go HTTP handlers with httptest.ResponseRecorder and httptest.NewServer: JSON bodies, headers, middleware, failure paths, and the mistakes that make tests hang.</p>
944                <span class="blog-link">Read More →</span>
945            </a>
946            <a class="blog-card" href="/blog/structured-logging-in-go-with-log-slog-levels-attrs-groups-a">
947                <div class="blog-card-top"><span class="blog-tag">advanced topics</span><span class="blog-date">Sep 14, 2026</span></div>
948                <h3>Structured Logging in Go with log/slog: Levels, Attrs, Groups, and Handlers</h3>
949                <p>How to configure log/slog in a real service: runtime-switchable levels, attrs and groups, context-aware handlers, source locations, and the allocation traps.</p>
950                <span class="blog-link">Read More →</span>
951            </a>
952            
953        </div>
954        <div class="resources-foot"><a href="/blog" class="blog-grid-cta">Read all 236 blog posts →</a></div>
955    </section>
956
957    
958    <style>
959        .site-footer{background:#111827;color:#9CA3AF;padding:56px 24px 32px;font-family:'Roboto',sans-serif}
960        .footer-grid{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
961        .footer-brand img{max-height:32px;margin-bottom:14px}
962        .footer-brand p{font-size:0.95em;line-height:1.6;max-width:26em;color:#9CA3AF}
963        .footer-nav{display:flex;gap:64px;flex-wrap:wrap}
964        .footer-nav h4{color:#ffffff;font-size:0.85em;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:14px}
965        .footer-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
966        .footer-nav a{color:#9CA3AF;text-decoration:none;font-size:0.95em;transition:color 0.2s}
967        .footer-nav a:hover{color:#ffffff}
968        .footer-legal{max-width:1200px;margin:40px auto 0;padding-top:24px;border-top:1px solid #374151;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:0.85em}
969        .footer-legal a{color:#6B7280;text-decoration:none;margin-right:16px}
970        .footer-legal a:hover{color:#9CA3AF}
971    </style>
972    <footer class="site-footer">
973        <div class="footer-grid">
974            <div class="footer-brand">
975                <img src="/static/img/logo.png" alt="ByteSizeGo">
976                <p>The best place to learn the Go programming language on the internet.</p>
977            </div>
978            <div class="footer-nav">
979                <div>
980                    <h4>Learn</h4>
981                    <ul>
982                        <li><a href="/goflow-landing">GoFlow</a></li>
983                        <li><a href="/courses">Courses</a></li>
984                        <li><a href="/lessons">Lessons</a></li>
985                        <li><a href="/books">Books</a></li>
986                    </ul>
987                </div>
988                <div>
989                    <h4>Resources</h4>
990                    <ul>
991                        <li><a href="/blog">Blog</a></li>
992                        <li><a href="/golang-jobs">Golang Jobs</a></li>
993                        <li><a href="/blog/learning-golang-2026">Learning Path</a></li>
994                    </ul>
995                </div>
996            </div>
997        </div>
998        <div class="footer-legal">
999            <span>© 2026 ByteSizeGo</span>
1000            <span>
1001                <a href="/terms">Terms of Service</a>
1002                <a href="/privacy">Privacy Policy</a>
1003                <a href="mailto:[email protected]?subject=Help%20request%20from%20ByteSizeGo">Contact Us</a>
1004            </span>
1005        </div>
1006    </footer>
1007
1008
1009    
1009<script>
1010        document.addEventListener("DOMContentLoaded", function () {
1011            window.addEventListener("bento:ready", function () {
1012                bento.view();
1013            });
1014
1015            document.querySelectorAll("form.bento-capture").forEach(function (form) {
1016                form.addEventListener("submit", function (event) {
1017                    if (typeof bento === "undefined") {
1018                        return;
1019                    }
1020                    event.preventDefault();
1021                    const emailInput = form.querySelector('input[type="email"]');
1022                    const email = emailInput ? emailInput.value.trim() : null;
1023
1024                    if (email) {
1025                        bento.identify(email);
1026                    }
1027                    bento.track("form_submitted", {
1028                        form_name: "bento-capture",
1029                        page: "home",
1030                        email_provided: !!email
1031                    });
1032                    form.submit();
1033                });
1034            });
1035        });
1036    </script>
vendor: 1 bytes, line 1036
1036
1037<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"9c181ee3cb8e4f0da61bc7fb903ad4cb","r":1,"spa":2}' crossorigin="anonymous"></script>
1037
1038</body>
1039
1040</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.