Let $A$ be a finite abelian group, and let
$ \psi : A \times A \to \mathbb{Q}/\mathbb{Z} $
be an alternating, non-degenerate bilinear form on $A$.
To prove $A$ have square cardinality, Non-degenerate alternating bilinear form on a finite abelian group gives one approach.
On the other hand, lemma 4 of https://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/0998-10.pdf gives another kind of explanation as the following.
Let $S$ be the subgroup of $A$ such that $\psi(s,s')=0$ for all $s,s'\in S$ and $S$ is maximal with respect to this property. Since $\psi(1,1)=0$, there is at least one subgroup with the property. Consider the character $X_a(s)=\psi(a,s)$ of $A$ for each $a\in A$. They are all distinc, since the pairing $\psi(a,s)$ is non-degenerate. Consider $A/S$. For each $a\in A/S$, we have a character of $S$ defined by $X_a(s)=\psi(a,s)$. By the definition of $S$, they are distinct. Therefore, $\hat{S} \cong A/S$. Therefore, $A\cong S×\hat{S}$.
Why 'Therefore, $\hat{S} \cong A/S$' holds ? We constructed characters on $A/S$ and know that they are all distinct. However, I am now stuck on how to deduce $\hat{S} \cong A/S$ from these ingredients. From these ingredients, there is a injective map from $A/S$ to $\hat{S}$, but I'm stuck with proving that is surjective. In other words, why character on $S$ comes from the character on $A/S$ ? Thank you for your help.
P.S In sb945's answer, the problem is subjectivity of $c \mapsto X_c(s)$.
$a\in A/S$ takes the form $c+s'$, where $s'\in S, c\in C$ and $C\oplus S=A$
then $$\psi(a,s)=\psi(c+s',s)=\psi(c,s)+\underbrace{\psi(s',s)}_{=0}=\psi(c,s)=X_c(s)$$ hence $c\mapsto X_c(s)$ is the isomorphism from $C$ (which is $A/S$) to $\widehat S$
You may think of $\psi$ as symplectic forms and $S$ as Lagrangians to get insights.