Show that if $g(s+t)=g(s)+g(t)$ and $g$ is bounded in bounded sets then $g(x)=xg(1)$ I have a proof for this exercise that seems correct:

Let $g:(0,\infty)\to\Bbb R$ such that $g(s+t)=g(s)+g(t)$ for all $s,t>0$. Then show that if $g$ is bounded in bounded sets then $g(x)=x g(1)$ for all $x>0$.

My proof: first note that $g(n\cdot x)=n\cdot g(x)$ for all $n\in\Bbb N$ and all $x\in(0,\infty)$. By the same reason we find that $n\, g(1/n)=g(1)$ for $n\in\Bbb N$ what imply that $n^{-1} g(1)=g(1/n)$. Then both statements together imply that $g(r)=r\, g(1)$ for $r\in\Bbb Q_{>0}$.
Hence if $(x_k)\in\Bbb Q_{>0}^{\Bbb N}$ converge to some $x>0$ we find that $\lim g(x_k)=g(1)\lim x_k=x\, g(1)$. Also note that
$$
g(x+y)=g(x)+g(y)\implies g(x+y)-g(y)=g(x),\quad\forall x,y>0\tag1
$$
Now suppose that $g$ is bounded in bounded sets and that $g(s)= s\cdot g(1)+\epsilon$ for some $\epsilon\neq 0$ and some $s>0$, then from the above analysis we can find that
$$
g(r(s-q))=r(s-q) g(1)+r\epsilon,\quad\forall r\in\Bbb Q_{>0},\, q\in(0,s)\cap\Bbb Q\tag2
$$
Then let $(q_k)\in\Bbb Q_{>0}^{\Bbb N}$ such that $0<s-q_k<1/k^2$ for each $k\in\Bbb N$. Then we find that
$$
\lim_{k\to\infty} |g(k(s-q_k))|=\lim_{k\to\infty}\big|k(s-q_k)g(1)+k\epsilon|=\infty\tag3
$$
Now, by the definition of $(q_k)$ we find that $0<k(s-q_k)<1/k$ for each $k\in\Bbb N$, hence $g|_{(0,1]}$ is not bounded, thus $g(s)=sg(1)$ for all $s>0$, as desired.$\Box$

Two questions here:


*

*Can someone confirm the correctness of the above proof?

*Regardless if the above proof is correct or not it seems that the argument is slightly complicated so I want to know if there is an easier proof.
 A: It's not clear to me whether what's below is more or less what the OP said; I find the exposition above a little hard to follow. Whether or not it's actually a simpler proof it certainly looks simpler...
The result is actually much simpler than I thought. Choose $c$ so that $$|g(t)|<c\quad(|t|<1).$$
It follows that for $n=1,2\dots$ we have $$|g(t)|<c/n\quad(|t|<1/n),$$because if $|t|<1/n$ then $|g(t)|=|g(nt)|/n$ and $|nt|<1$.
So $g$ is continuous at the origin. Since $g(t+\delta)=g(t)+g(\delta)$ this shows that $g$ is continuous. So $g(t)=tg(1)$, since that holds for all rational $t$.
A: The proof of David C. Ullrich is correct. Let me make it slightly easier to understand.
Step 1. First observe that it suffices to show that $g$ is continuous at $x=0$, and in particularly that $\lim_{x\to 0}g(x)=0$.
Step 2. Set $M=\sup_{x\in [-1,1]}|g(x)|$. We know from the assumptions in the OP that $M<\infty$.
Step 3. Now let $\varepsilon>0$. Then we need to find a $\delta>0$, such that $$|x|<\delta\qquad\Longrightarrow\qquad |g(x)|<\varepsilon.$$
In fact $\delta=\dfrac{1}{\lfloor \frac{M}{\varepsilon}\rfloor+1}$ is a suitable candidate, since
$$
|x|<\dfrac{1}{\lfloor \frac{M}{\varepsilon}\rfloor+1}\quad\Longrightarrow\quad \left|\Big(\Big\lfloor \frac{M}{\varepsilon}\Big\rfloor+1\Big)x\right|<1 \quad\Longrightarrow\quad \left|\,g\left(\Big(\Big\lfloor \frac{M}{\varepsilon}\Big\rfloor+1\Big)x\right)\right|\le M  \\\quad\Longrightarrow\quad|g(x)|\le\frac{M}{\Big\lfloor \frac{M}{\varepsilon}\Big\rfloor+1}<\frac{M}{\frac{M}{\varepsilon}}=\varepsilon.
$$
Note that we have used the fact the $g(qx)=qg(x)$, for every $q\in\mathbb Q$, which can be easily obtained by that fact that $\,g(x+y)=g(x)+g(y)$.
