局部函数
即定义在另一个函数内部的函数。
局部函数可以访问外部函数(即闭包)的局部变量。
fun dfs(graph: Graph) { fun dfs(current: Vertex, visited: MutableSet<Vertex>) { if (!visited.add(current)) return for (v in current.neighbors) dfs(v, visited) } dfs(graph.vertices[0], HashSet()) }
局部扩展函数
即定义在一个函数内部的扩展函数。
fun hello() { fun Float.dp(): Int { return 0 } 2f.dp() }