func buildGbkFeatureString(feature Feature) string {
	whiteSpaceTrailLength := 16 - len(feature.Type) // I wish I was kidding.
	whiteSpaceTrail := generateWhiteSpace(whiteSpaceTrailLength)
	var location string

	if feature.GbkLocationString != "" {
		location = feature.GbkLocationString
	} else {
		location = buildGbkLocationString(feature.SequenceLocation)
	}
	featureHeader := generateWhiteSpace(subMetaIndex) + feature.Type + whiteSpaceTrail + location + "\n"
	returnString := featureHeader

	qualifierKeys := make([]string, 0, len(feature.Attributes))
	for key := range feature.Attributes {
		qualifierKeys = append(qualifierKeys, key)
	}

	for _, qualifier := range qualifierKeys {
		returnString += generateWhiteSpace(qualifierIndex) + "/" + qualifier + "=\"" + feature.Attributes[qualifier] + "\"\n"

	}
	return returnString
}
// buildGbkFeatureString is a helper function to build gbk feature strings for BuildGbk()
buildGbkFeatureString is a helper function to build gbk feature strings for BuildGbk()
// buildGbkFeatureString is a helper function to build gbk feature strings for BuildGbk ()
func buildGbkFeatureString(feature Feature) string {
	whiteSpaceTrailLength := 16 - len(feature.Type) 
	whiteSpaceTrail := generateWhiteSpace(whiteSpaceTrailLength)
	var location string
	if feature.GbkLocationString != "" {
		location = feature.GbkLocationString
	} else {
		location = buildGbkLocationString(feature.SequenceLocation)
	}
	featureHeader := generateWhiteSpace(subMetaIndex) + feature.Type + whiteSpaceTrail + location + "\n"
	returnString := featureHeader
	qualifierKeys := make([]string, 0, len(feature.Attributes))
	for key := range feature.Attributes {
		qualifierKeys = append(qualifierKeys, key)
	}
	for _, qualifier := range qualifierKeys {
		returnString += generateWhiteSpace(qualifierIndex) + "/" + qualifier + "=\"" + feature.Attributes[qualifier] + "\"\n"
	}
	return returnString
}
func buildGbkFeatureString ( feature Feature ) string { whiteSpaceTrailLength := 16 - len ( feature . Type ) whiteSpaceTrail := generateWhiteSpace ( whiteSpaceTrailLength ) var location string if feature . GbkLocationString != " " { location = feature . GbkLocationString } else { location = buildGbkLocationString ( feature . SequenceLocation ) } featureHeader := generateWhiteSpace ( subMetaIndex ) + feature . Type + whiteSpaceTrail + location + " \n " returnString := featureHeader qualifierKeys := make ( [ ] string , 0 , len ( feature . Attributes ) ) for key := range feature . Attributes { qualifierKeys = append ( qualifierKeys , key ) } for _ , qualifier := range qualifierKeys { returnString += generateWhiteSpace ( qualifierIndex ) + " " + qualifier + " \" " + feature . Attributes [ qualifier ] + " \" \n " } return returnString }
buildGbkFeatureString is a helper function to build gbk feature strings for BuildGbk()
buildGbkFeatureString is a helper function to build gbk feature strings for BuildGbk ()
// I wish I was kidding.