GC vs Borrow checker is down to trade-offs. The former is a well proven strategy, probably easier to implement and less verification work for the compiler. For the time Go was released, it's understandable they went with GC.
Agree on the learning curve.
Would be interesting to see a third language, striving for simplicity and fast compilation but with borrow-checking.