// Copyright 2018 The Prometheus Authors// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.package utilimport ()// ParseUint32s parses a slice of strings into a slice of uint32s.func ( []string) ([]uint32, error) { := make([]uint32, 0, len())for , := range { , := strconv.ParseUint(, 10, 32)if != nil {returnnil, } = append(, uint32()) }return , nil}// ParseUint64s parses a slice of strings into a slice of uint64s.func ( []string) ([]uint64, error) { := make([]uint64, 0, len())for , := range { , := strconv.ParseUint(, 10, 64)if != nil {returnnil, } = append(, ) }return , nil}// ParsePInt64s parses a slice of strings into a slice of int64 pointers.func ( []string) ([]*int64, error) { := make([]*int64, 0, len())for , := range { , := strconv.ParseInt(, 10, 64)if != nil {returnnil, } = append(, &) }return , nil}// Parses a uint64 from given hex in string.func ( []string) ([]*uint64, error) { := make([]*uint64, 0, len())for , := range { , := strconv.ParseUint(, 16, 64)if != nil {returnnil, } = append(, &) }return , nil}// ReadUintFromFile reads a file and attempts to parse a uint64 from it.func ( string) (uint64, error) { , := os.ReadFile()if != nil {return0, }returnstrconv.ParseUint(strings.TrimSpace(string()), 10, 64)}// ReadIntFromFile reads a file and attempts to parse a int64 from it.func ( string) (int64, error) { , := os.ReadFile()if != nil {return0, }returnstrconv.ParseInt(strings.TrimSpace(string()), 10, 64)}// ParseBool parses a string into a boolean pointer.func ( string) *bool {varboolswitch {case"enabled": = truecase"disabled": = falsedefault:returnnil }return &}// ReadHexFromFile reads a file and attempts to parse a uint64 from a hexadecimal format 0xXX.func ( string) (uint64, error) { , := os.ReadFile()if != nil {return0, } := strings.TrimSpace(string())if !strings.HasPrefix(, "0x") {return0, errors.New("invalid format: hex string does not start with '0x'") }returnstrconv.ParseUint([2:], 16, 64)}
The pages are generated with Goldsv0.8.2. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds.