The norm of $x\in X$, where $X$ is a normed linear space Question:

Let $x\in X$, $X$ is a normed linear space and let $X^{*}$ denote the dual space of $X$. 
  Prove that$$\|x\|=\sup_{\|f\|=1}|f(x)|$$ where $f\in X^{*}$.


My proof:
Let $0\ne x\in X$, using HBT take $f\in X^{*}$ such that $\|f\|=1$ and $f(x)=\|x\|$. 
Now, $\|x\|=f(x)\le|f(x)|\le\sup_{\|x\|=1}|f(x)|=\sup_{\|f\|=1}|f(x)|$, this implies $$\|x\|\le\sup_{\|f\|=1}|f(x)|\quad (1)$$
Since $f$ is a bounded linear functional $|f(x)|\le\|f\|\|x\|$ for all $x\in X$. 
Since$\|f\|=1$,  $|f(x)|\le\|x\|$ for all $x\in X$. This implies $$\|x\|\ge\sup_{\|f\|=1}|f(x)|\quad(2)$$ 
Therefore $(1)$ and $(2)$ gives $\|x\|=\sup_{\|f\|=1}|f(x)|$. 

If $x=0$, the result seems to be trivial, but I am still trying to convince myself. Still I have doubts about my proof, is it correct? Please help.
Edit:
Please note that, I use the result of the one of the consequences of Hahn-Banach theorem. That is, given a normed linear space $X$ and $x_{0}\in X$ $x_{0}\ne 0$, there exist $f\in X^{*}$ such that $f(x_{0})=\|f\|\|x_{0}\|$ 

Thanks for the comments. Let see....

Let $0\ne x\in X$, using the consequence of HBT (analytic form) take $g\in X^{*}$ such that $\|g\|=1$ and $
g(x)=\|x\|$. 
Now, $\|x\|=g(x)\le|g(x)|\le\sup_{\|f\|=1}|f(x)|$, this implies $$\|x\|\le\sup_{\|f\|=1}|f(x)|\quad (1)$$
Since $f$ is a bounded linear functional (given): $|f(x)|\le\|f\|\|x\|$ for all $x\in X$. 
For a linear functional $f$ with $\|f\|=1$ we have by defintion,  $|f(x)|\le\|x\|$ for all $x\in X$. This implies $$\|x\|\ge\sup_{\|f\|=1}|f(x)|\quad(2)$$ 
Therefore $(1)$ and $(2)$ gives $\|x\|=\sup_{\|f\|=1}|f(x)|$. 
If $x=0$, the result is trivial.

Any more comments?
