In general the reason you have not seen how to use Go as a full-stack language is generally because Go is not a full-stack language, it is a back-end and CLI language, and there is shines. much better than for example Node and Javascript, IMO.
As they say, “Use the right tools for the job and the job becomes much easier.” Go is great if you want to build an API, or even to serve a Single Page App that uses a front-end technologies such as React or Vue.js for the front-end.
That is not to say you can’t create a website using only Go as Sibert illustrated, but that will have you swimming upstream against a relentless current, assuming you actually want to get something accomplished. Of course if you are just doing the work for learning and exploration sake, more power to you!
And even so it’s not accurate to say that Silbert’s site is 100% Go because he still had to use CSS and JavaScript (https://task.go4webdev.org/js/nav.js) because browsers do not run Go code.
There are a lot of web frameworks for use with Go, but (pretty much) all(?) of them require you to handle the front-end with front-end technologies:
Now you could generate WebAssembly and implement a website completely in Go but you’ve have to reinvent the wheel that React and Vue.js have already invested probably tens of thousands of man-hours into.
That would be like trying to build a new car and building everything from scratch and not using any already readily available off-the-shelf parts. Unless of course you want to be the one to build the Go developer’s web toolkit that does everything that Vue.js and React do but all in Go-generated WebAssembly. If so, good luck and these links might help:
- WebAssembly using Go (Golang) | Run Go programs in the browser
- Writing a Frontend Web Framework with WebAssembly And Go | TutorialEdge.net
- Building full-stack web apps with Go, Vecty, and WebAssembly - LogRocket Blog
- WebAssembly with Golang by scratch | ITNEXT
- A package to build progressive web apps with Go and WebAssembly | GitHub
So, as Silbert said, an easy approach is to just use WordPress.
Alternately, if you want to stick with something written in Go you should take a look at the website generator Hugo, which is written in Go. Here’s an article explaining how to create a blog using it:
If you want to actually code in Go (to maybe get experience?) then you could fork Hugo and make your own modifications to it I guess.
But bottom line, unless you are going the route of everything in WebAssembly then you are going to end up having to use front-end tech in addition to Go to build a modern website.
Hope this helps.
-Mike