小编Sha*_*ane的帖子

了解 Nodejs 文档

我可能想多了,但我无法消化 Nodejs 文档。我是 javascript 新手,来自 Java 背景。

我的问题不是关于任何特定的 nodejs 功能,只是整体理解。下面我举例说明我试图理解的内容......

当使用像 Java 这样的静态类型语言时,方法调用需要什么类型是非常清楚的。一个简单的例子,如果我想对一个 int 数组进行排序,我可以查看Arrays.sort并看到它需要一个 int[](其他类型也一样)。我还可以看到它返回无效。

public static void sort(int[] a)
Run Code Online (Sandbox Code Playgroud)

然而 javascript 是一种动态语言,因此没有用于 api 调用的类型。以crypto模块中的这个例子为例

crypto.pbkdf2(password, salt, iterations, keylen, callback)
Asynchronous PBKDF2 applies pseudorandom function HMAC-SHA1 to derive a 
key of given length from      the given password, salt and iterations. 
The callback gets two arguments (err, derivedKey).
Run Code Online (Sandbox Code Playgroud)

因此,如果不出去寻找示例代码,或查看 nodejs 源代码,我如何知道函数的参数类型?我意识到可以通过查看名称来派生类型(即回调是函数类型),但还有其他方法吗?

例如,文档说回调得到两个参数 err 和derivedKey。派生密钥的类型是什么,类型是什么或者err是什么?我是否遗漏了有关文档的内容?你怎么知道你是否传入了正确的类型?

注意:我已经知道衍生密钥和 err 的类型是什么,所以我不需要像“衍生密钥是......”之类的答案,我的问题是关于来自静态类型语言的人对 Nodejs 文档的整体理解,并且是不特定于crypto.pdkdf2。

javascript node.js

6
推荐指数
1
解决办法
617
查看次数

将结构体typedef指向与该结构体同名的点

我遇到了来自遗留代码库的一些C代码,这让我抓狂了。

该代码到处都是具有typedef的结构,如下所示。

typedef struct Foo {
    char *data;
    int  stuff;
} *Foo;
Run Code Online (Sandbox Code Playgroud)

使用GCC可以编译良好。

我的问题是将结构类型化为结构指针的目的是什么?这是几年前的标准做法吗?有什么我想念的吗?似乎很糟糕,因为它混淆了struct指针。在理解此遗留代码方面的任何帮助将不胜感激。

c gcc struct

2
推荐指数
2
解决办法
704
查看次数

标签 统计

c ×1

gcc ×1

javascript ×1

node.js ×1

struct ×1