Sha256: 93d1772c105c4158911ca6dbdb42ee3c8170b2ce95a82fed9fd6e71c45e65fd9

Contents?: true

Size: 402 Bytes

Versions: 122

Compression:

Stored size: 402 Bytes

Contents

package octal

import (
	"fmt"
)

func ParseOctal(octal string) (int64, error) {
	num := int64(0)
	for _, digit := range octal {
		// if any digits aren't octal digits (0-7), return 0
		if digit < '0' || digit > '7' {
			return 0, fmt.Errorf("unexpected rune '%c'", digit)
		}
		// multiply the current number by 8 (left shift) and add the digit
		num = num<<3 + int64(digit-'0')
	}
	return num, nil
}

Version data entries

122 entries across 122 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/go/exercises/octal/example.go
trackler-2.2.1.179 tracks/go/exercises/octal/example.go
trackler-2.2.1.178 tracks/go/exercises/octal/example.go
trackler-2.2.1.177 tracks/go/exercises/octal/example.go
trackler-2.2.1.176 tracks/go/exercises/octal/example.go
trackler-2.2.1.175 tracks/go/exercises/octal/example.go
trackler-2.2.1.174 tracks/go/exercises/octal/example.go
trackler-2.2.1.173 tracks/go/exercises/octal/example.go
trackler-2.2.1.172 tracks/go/exercises/octal/example.go
trackler-2.2.1.171 tracks/go/exercises/octal/example.go
trackler-2.2.1.170 tracks/go/exercises/octal/example.go
trackler-2.2.1.169 tracks/go/exercises/octal/example.go
trackler-2.2.1.167 tracks/go/exercises/octal/example.go
trackler-2.2.1.166 tracks/go/exercises/octal/example.go
trackler-2.2.1.165 tracks/go/exercises/octal/example.go
trackler-2.2.1.164 tracks/go/exercises/octal/example.go
trackler-2.2.1.163 tracks/go/exercises/octal/example.go
trackler-2.2.1.162 tracks/go/exercises/octal/example.go
trackler-2.2.1.161 tracks/go/exercises/octal/example.go
trackler-2.2.1.160 tracks/go/exercises/octal/example.go