From 8b2aa597999daf3efb5e842717fc2d373372ae4f Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 28 Aug 2016 01:56:09 +0200 Subject: Solve binary --- go/binary/binary.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 go/binary/binary.go (limited to 'go/binary/binary.go') diff --git a/go/binary/binary.go b/go/binary/binary.go new file mode 100644 index 0000000..1a02992 --- /dev/null +++ b/go/binary/binary.go @@ -0,0 +1,17 @@ +package binary + +import "errors" + +func ParseBinary(s string) (int, error) { + var n int + for i, r := range s { + switch r { + case '0': + case '1': + n |= 1 << uint(len(s)-i-1) + default: + return 0, errors.New("invalid char") + } + } + return n, nil +} -- cgit v1.2.3