package TLE import ( "fmt" "strconv" "strings" ) func NewTLE(RawTLE string) (TLE, error) { // split the TLE var SplitTLE []string = strings.Split(RawTLE, "\n") //fmt.Printf("%#v", SplitTLE) fmt.Printf("Line one, first char: %v", SplitTLE[1][0]) // Line One // parse the line number LineOneLinenumber, err := strconv.Atoi(string(SplitTLE[1][0])) if err != nil { return TLE{}, fmt.Errorf("%s: %#v", "Could not parse the line number", SplitTLE[0][1]) } var generatedTLE TLE = TLE{ TitleLine: TitleLine{ Satname: fmt.Sprintf("%-25s", SplitTLE[0][0:24]), }, LineOne: LineOne{ Linenumber: int8(LineOneLinenumber), SatelliteNumber: 0, Classification: 0, InternationalDesignator: InternationalDesignator{ Launchyear: 0, Launchnumber: 0, Launchpiece: 0, }, Epoch: Epoch{ Year: 0, Dayfraction: 0, }, Firstderiv: 0, Secondderiv: 0, BSTAR: 0, Numberzero: 0, ElementSetNumber: 0, Checksum: 0, }, LineTwo: LineTwo{}, } return generatedTLE, nil }