Một lát là một mô tả của một phân khúc mảng
Nó bao gồm
- một con trỏ đến mảng,
- chiều dài của phân khúc này, và
- Công suất của nó (độ dài tối đa của phân khúc)
Dưới đây, chuỗi Array/Slice được chuyển thành int Array/Slice:
package main
import (
"fmt"
"log"
"strconv"
"strings"
)
func Slice_Atoi(strArr []string) ([]int, error) {
// NOTE: Read Arr as Slice as you like
var str string // O
var i int // O
var err error // O
iArr := make([]int, 0, len(strArr))
for _, str = range strArr {
i, err = strconv.Atoi(str)
if err != nil {
return nil, err // O
}
iArr = append(iArr, i)
}
return iArr, nil
}
func main() {
strArr := []string{
"0 0 24 3 15",
"0 0 2 5 1 5 11 13",
}
for i := 0; i < len(strArr); i++ {
iArr, err := Slice_Atoi(strings.Split(strArr[i], " "))
if err != nil {
log.Print("Slice_Atoi failed: ", err)
return
}
fmt.Println(iArr)
}
}
Output:
[0 0 24 3 15]
[0 0 2 5 1 5 11 13]
tôi đã sử dụng trong một dự án, do đó đã làm một việc tối ưu nhỏ từ trả lời khác, đánh dấu là // O cho ở trên, cũng cố định một chút trong readabi lity cho những người khác
Chúc may mắn nhất
Nguồn
2015-12-13 07:30:56