Proof Verification – Prove that any 0-order divisor on a non-singular projective curve of the $ g $ kind is equivalent to another

Could you please check if the solution below is ok?
There is an exercise from Shafarevich's Basic Algebraic Geometry, Vol. 1, ex. 7.7.21.

Let $ o $ to be a point of a smooth algebraic curve $ X $ of the kind $ g $. Using the Riemann-Roch theorem, prove that any divisor $ D $ with $ deg D = 0 $ is equivalent to a divisor of the form $ D_0-go $, or $ D_0> 0, deg D_0 = g $.

This is equivalent to showing that space $ mathcal {L} (go + D) $ to the dimension $ geqslant $ 1. Suppose that it has a dimension $ 0. By the Riemann-Roch theorem we have
$ ell (go + D) – ell (K-go-D) = $ 1. So, $ ell (K-go-D) = – $ 1. Since $ K-go + D $ and K-go $ are of the same degree we have
$ ell (K-go) leqslant ell (K-go + D) $. Now, apply Riemann-Roch to $ go $:
$$ ell (go) – ell (K-go) = 1 $$
But the space $ mathcal {L} (go) $ is the space of all the rational functions having the pole of order $ leqslant g $ at $ o $, so of dimension $ g + 1 $,
and $ ell (K-go) $ is dimension $ g $ – contradiction.

I do not like the last argument and we did not use the structure of a canonical divisor.

Thanks in advance.