我在 Symfony 中使用 Google Drive API。该库包含在以下行中composer.json:
"google/apiclient": "^2.2",
Run Code Online (Sandbox Code Playgroud)
代码如下:
$service = new \Google_Service_Drive($google->getClient());
$files = $service->files->listFiles([
'pageSize' => 10,
'fields' => 'files(id, name, modifiedTime, mimeType, parents)',
'orderBy' => 'modifiedTime desc, name'
]);
$nextPageToken = $files->getNextPageToken();
Run Code Online (Sandbox Code Playgroud)
我的驱动器上有大约 50 个文件,但$nextPageToken始终是空的。当然,如果我将值设置得pageSize更高,我可以获得所有文件,但将来我们可以拥有更多文件。
我还尝试将pageToken和添加nextPageToken到字段列表中,但随后它显示:“无效的字段选择 pageToken”和“无效的字段选择 nextPageToken”。
有人有什么想法吗?
看下面的函数,其中a是一个无符号字节0-255,b是一个浮点数:
def convert(a, b):
if a & 0x80:
return -b
return b
Run Code Online (Sandbox Code Playgroud)
它否定b了的第一位a,但没有设置时什么也不做。可能会认为这不是很酷,因为条件语句破坏了CPU中的分支预测。因此,人们将尝试将其转换为一种计算。
但是我只找到了这种解决方案,看起来效率不高:
def convert(a, b):
return (-1)**(a & 0x80) * b
Run Code Online (Sandbox Code Playgroud)
哪一个更有效?编译器会简化第二个吗?有没有更好的办法?