197 人学过 151 次评价 作者: honulu 难度: 中级 综合评分: 8.9
课程包含 100 个 Golang 编程练习题目,覆盖了基本语法,数据结构,算法等多个方面,是你熟悉 Golang 编程和面试刷题的必备宝典。
honulu 共发布过 5 门课程
strconv.Itoa来转化指定数字为字符串 strings.Split()来分隔字符串,并返回一个字符串切片
strconv.itoa实现字符串转int,strconv.FormatInt实现int转字符串,fmt.Sprintf返回转化后的字符串
so easy
实验中的写法在声明切片长度的同时也定义了切片的容量,当时楼主的写法也是可以的😆
package main
import ( "errors" "fmt" )
func SplitSliceInChunks(a []int, chuckSize int) ([][]int, error) { if chuckSize < 1 { return nil, errors.New("chuckSize must be greater that zero") } // chunks := make([][]int, 0, (len(a)+chuckSize-1)/chuckSize) chunks := make([][]int, 0, len(a)/chuckSize+1)
for chuckSize < len(a) { a, chunks = a[chuckSize:], append(chunks, a[0:chuckSize]) // a, chunks = a[chuckSize:], append(chunks, a[0:chuckSize:chuckSize]) } chunks = append(chunks, a) return chunks, nil
}
func main() { a := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10} chunks, err := SplitSliceInChunks(a, 4) if err != nil { fmt.Println(err) } fmt.Printf("%v", chunks) // Output: // [[0 1 2 3] [4 5 6 7] [8 9]] }
从切片中剔除元素需要使用appned函数
用range迭代切片的每一个元素, 找到元素与目标元素相等立即返回true, 程序结束, 否则则迭代完所有元素后,则返回false, 结束程序
runtime.GOOS 打印操作系统类型 runtime.GOARCH 打印CPU硬件架构
parser.ParserFile(fs, "", src, parser.ParseComments) : 解析源码片段s中的注释
fmt.Printf("%[2]d %[2]d %[1]d %[1]d %[2]d\n", 5, 6) 等价与python中print(f"{2} {2} {1} {1} {2}", 5,6)
[]byte(s string) 等价与于python中的s.encode()
这一节不与实验 23重复了吗?
实验 23
这个挑战不是之前出现在实验讲解中?
net/http/httptest.NewServer(...) = webserver: 创建并启动一个web服务
net/http.Get(URL) = request:创建并发起一个请求
实现某种类型的自定义字符串打印形式, 需要该类型实现string接口的String() string方法, 这有点类似python中类中的.str()方法
¥69
免费
开通高级会员,立享免费学 去开通
strconv.Itoa来转化指定数字为字符串 strings.Split()来分隔字符串,并返回一个字符串切片
strconv.itoa实现字符串转int,strconv.FormatInt实现int转字符串,fmt.Sprintf返回转化后的字符串
so easy
实验中的写法在声明切片长度的同时也定义了切片的容量,当时楼主的写法也是可以的😆
package main
import ( "errors" "fmt" )
func SplitSliceInChunks(a []int, chuckSize int) ([][]int, error) { if chuckSize < 1 { return nil, errors.New("chuckSize must be greater that zero") } // chunks := make([][]int, 0, (len(a)+chuckSize-1)/chuckSize) chunks := make([][]int, 0, len(a)/chuckSize+1)
}
func main() { a := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10} chunks, err := SplitSliceInChunks(a, 4) if err != nil { fmt.Println(err) } fmt.Printf("%v", chunks) // Output: // [[0 1 2 3] [4 5 6 7] [8 9]] }
这样不也可以吗, 为什么要像注释那么做
从切片中剔除元素需要使用appned函数
用range迭代切片的每一个元素, 找到元素与目标元素相等立即返回true, 程序结束, 否则则迭代完所有元素后,则返回false, 结束程序
runtime.GOOS 打印操作系统类型 runtime.GOARCH 打印CPU硬件架构
parser.ParserFile(fs, "", src, parser.ParseComments) : 解析源码片段s中的注释
fmt.Printf("%[2]d %[2]d %[1]d %[1]d %[2]d\n", 5, 6) 等价与python中print(f"{2} {2} {1} {1} {2}", 5,6)
[]byte(s string) 等价与于python中的s.encode()
这一节不与
实验 23
重复了吗?这个挑战不是之前出现在实验讲解中?
net/http/httptest.NewServer(...) = webserver: 创建并启动一个web服务
net/http.Get(URL) = request:创建并发起一个请求
实现某种类型的自定义字符串打印形式, 需要该类型实现string接口的String() string方法, 这有点类似python中类中的.str()方法