Is my proof that $l^1$ is isometrically isomorphic to $c_0^*$ correct?

This is a classic exercise of functional analysis, but I do not fully understand it after reading many answers in textbooks. So I am trying to reorganize the proof step by step in details. I am hoping that someone may review my proof very carefully and give comments or corrections. Then I will revise the proof and hopefully it could be helpful to the beginners of functional analysis.

Let $c_0(\mathbb{N})$ be the space of sequences converging to $0$. Show that there is a well-defined, isometric isomorphism \begin{align} T: l^1(\mathbb{N}) \to \left(c_0(\mathbb{N})\right)^*, \qquad T(g)(f) := \sum_{n\in\mathbb{N}}f(n)g(n). \end{align} That is, show that $T(g)$ is a bounded linear functional $c_0(\mathbb{N}) \to \mathbb{C}$ with $\|T(g)\| = \|g\|$ and that any bounded linear functional on $c_0(\mathbb{N})$ is of this form for a unique $g \in l^1(\mathbb{N})$.

My proof:

First of all, we denote the sequences $f \in c_0(\mathbb{N})$ and $g \in l^1(\mathbb{N})$, thus $T(g) \in c_0^*: c_0(\mathbb{N}) \to \mathbb{C}$. By the way, can we say $T(f): l^1(\mathbb{N}) \to \mathbb{C}$? I think it is not well-defined.

Boundedness:

To show $T(g)$ is a bounded linear functional $c_0(\mathbb{N}) \to \mathbb{C}$ with $\|T(g)\| = \|g\|_{l^1}$, we first show the boundedness. \begin{align} |T(g)(f)| = \left|\sum_{n\in\mathbb{N}}f(n)g(n)\right| \le \sum_{n\in\mathbb{N}}|f(n)||g(n)| \le \sup_{n\in\mathbb{N}}|f(n)|\sum_{n\in\mathbb{N}}|g(n)| = \|f\|_{l^\infty}\|g\|_{l^1} \end{align} Therefore, $T(g)$ is bounded by \begin{align} \|T(g)\| = \sup\{|T(g)(f)|: \forall f \in c_0(\mathbb{N}), \|f\|_{l^\infty}\le 1\} \le \|g\|_{l^1} \end{align}

Linearity:

To show the linearity, we define $f_1, f_2 \in c_0(\mathbb{N})$ and $a_1, a_2 \in \mathbb{C}$. Then \begin{align} T(g)(a_1 f_1 + a_2 f_2) &= \sum_{n\in\mathbb{N}} \left(a_1 f_1(n) + a_2 f_2(n)\right) g(n) \\ &= \sum_{n\in\mathbb{N}} \left(a_1 f_1(n) g(n) + a_2 f_2(n) g(n)\right) \\ &= a_1 \sum_{n\in\mathbb{N}} f_1(n) g(n) + a_2 \sum_{n\in\mathbb{N}} f_2(n) g(n) \\ &= a_1 T(g)(f_1) + a_2 T(g)(f_2) \end{align} implies that $T(g)$ is linear.

Isometry:

We already proved $T(g): c_0(\mathbb{N}) \to \mathbb{C}$ a bounded linear functional for all $g \in l^1(\mathbb{N})$, now can we say the operator $T: l^1(\mathbb{N}) \to \left(c_0(\mathbb{N})\right)^*$ is therefore well-defined? Next we need to show that $T$ is an isometry for which $\|T(g)\| = \|g\|_{l^1}$. Since we already have $\|T(g)\| \le \|g\|_{l^1}$ from the boundedness, if we are able to show that there exists some $f \in c_0(\mathbb{N})$ for which $\|T(g)\| \ge \|g\|_{l^1}$, then $\|T(g)\| = \|g\|_{l^1}$.

Let $g$ be a sequence in $l^1(\mathbb{N})$. If $g = 0$, then $\|T(g)\| = \|g\|_{l^1}$ holds trivially. Assuming $g \ne 0$, we define \begin{align} f(n) := \begin{cases} \frac{|g(n)|}{g(n)} &\qquad n \le N \\ 0 &\qquad n > N \end{cases} \end{align} which is a sequence in $c_0(\mathbb{N})$, with $T(g)(f) := \sum_{n\in\mathbb{N}}f(n)g(n) = \sum_{n\in\mathbb{N}}|g(n)| =: \|g\|_{l^1}$ and $\|f\|_{l^\infty} = 1$ by definition. Therefore, we have \begin{align} \|g\|_{l^1} = |T(g)(f)| \le \|T(g)\|\|f\|_{l^\infty} = \|T(g)\| \end{align} in addition to $\|T(g)\| \le \|g\|_{l^1}$, which implies $\|T(g)\| = \|g\|_{l^1}$, i.e., $T$ is an isometry and thus injective (one-to-one).

Surjectivity:

To prove that $T: l^1(\mathbb{N}) \to \left(c_0(\mathbb{N})\right)^*$ is surjective (onto), we need to show for any bounded linear functional $\forall S \in \left(c_0(\mathbb{N})\right)^*$ there exists $T(g) = S$ that has some preimage $g \in l^1(\mathbb{N})$. Let us build a basis $\{e_n: n = 1, 2,...\}$ of sequences for $c_0(\mathbb{N})$, where $e_n = (\delta_n)_{n \in \mathbb{N}} \in c_0(\mathbb{N})$. Any $f \in c_0(\mathbb{N})$ can be written coordinate-wisely by the linear combination of the sequences of the basis $f = \sum_{n\in\mathbb{N}} f(n) e_n$. Then by the linearity of $S$ we have \begin{align} S(f) = \sum_{n\in\mathbb{N}} f(n) S(e_n) \end{align} If we define $g(n) := S(e_n)$, then we find \begin{align} S(f) = \sum_{n\in\mathbb{N}} f(n) S(e_n) = \sum_{n\in\mathbb{N}} f(n) g(n) =: T(g)(f) \end{align} that implies $S = T(g)$. By definition, $g(n)$ maps each sequence of basis to $T(g)(e_n)$. In addition, we need to show this $g \in l^1(\mathbb{N})$ by $\|g\|_{l^1} \le \|S\|$ which I am not able to finish. In conclusion, we find $\exists g \in l^1(\mathbb{N})$ for $T(g)$ corresponding to $\forall S \in \left(c_0(\mathbb{N})\right)^*$, therefore $T$ is surjective.

Finally, $T$ is a well-defined isometric isomorphism.

1. Please show me that $\|g\|_{l^1} \le \|S\|$
2. How to show this $g$ is unique?

One way to see that $\|g\|_1\leq\|S\|$ is as follows: Let $N\in\mathbb N$ be given, and define $$f(n)=\left\{\begin{array}{lcl} \frac{\overline g(n)}{|g(n)|}&:&g(n)\neq0\text{ and }n\leq N\\ 0&:& g(n)=0\text{ or }n>N. \end{array}\right.$$ Then $f\in c_0$ and $\|f\|_\infty\leq1$ (it's either $1$ or $0$). Thus we have $$\sum_{k=1}^N|g(n)|=\sum_{n=1}^Ng(n)f(n)=|S(f)|\leq \|S\|\|f\|_\infty\leq\|S\|.$$ Since $N\in\mathbb N$ was arbitrary, we have $$\sum_{n=1}^\infty|g(n)|=\sup_{N\in\mathbb N}\sum_{k=1}^N|g(n)|\leq\|S\|<\infty$$ Thus $g\in \ell^1$, and $T(g)=S$.
Furthermore, that $g$ is unique follows from your previous work showing that $T$ is an isometry, which implies that $T$ is injective.
$||g||_{l^1} = ||S\frac{\overline{g}}{|g|}||_{l^1} \le ||S|| \cdot||\frac{\overline{g}}{|g|}||_{l^\infty} = ||S||$