Previous studies on computational gene functional prediction have not fully exploited the taxonomy structure of Gene Ontology (GO). They just select a few classes from GO into a set, and conduct classwise learning of these classes. The pre-selection of learning classes, often done according to the annotation sizes, limits the prediction breadth and depth. This way of pre-selecting learning classes ignores the taxonomy relations among classes, and so wastes the valuable functional knowledge encoded in the DAG structure of GO. This paper proposes GESTS, a novel gene functional prediction approach based on both gene expression similarity and GO taxonomy similarity, which circumvents the problem of arbitrary learning class pre-selection. GESTS is a semi-supervised approach that reasonably and efficiently incorporates the ontology-formed gene functional knowledge into automated functional analyses of local gene clustering. By integrating both expression similarity and taxonomy similarity into the learning process, GESTS achieves better prediction breadth, depth, and precision than previous studies on the fibroblast serum response dataset and the yeast expression dataset.