在网上看到的比较考验思路的题,学习学习罢-
假设有一个超长的切片,切片的元素类型为int,切片中的元素为乱序排序。限时5秒,使用多个goroutine查找切片中是否存在给定的值,在查找到目标值或者超时后立刻结束所有goroutine的执行。
比如,切片 [23,32,78,43,76,65,345,762,......915,86],查找目标值为 345 ,如果切片中存在,则目标值输出"Found it!"并立即取消仍在执行查询任务的goroutine。
如果在超时时间未查到目标值程序,则输出"Timeout!Not Found",同时立即取消仍在执行的查找任务的goroutine。
Python 里面是没有指针的概念的,所以学习到 Go 的指针这个章节的时候我一直都是一知半解的,虽然看了不少资料也问了 ChatGPT 很多次,但是到现在也还没完全弄清楚到底什么时候应该用指针什么时候不能使用指针。
Go 语言拥有四类主要的数据类型:
基本类型: 涵盖了各种数字类型(如整数类型的 int、uint 等,浮点数类型的 float32、float64 等)、字符串类型(用于表示文本数据)以及布尔类型(true 和 false 两种取值,用于表示逻辑条件)。