go-gin 相关问题


Go 中何时/如何调用和使用 init()?

在Win 11 Pro机器上使用Go 1.21.4并为Go绑定GTK 3。 对 Go 中何时/如何调用和使用 init() 函数感到困惑。 简单示例代码: 包 GTKView 进口 ( “github...


写入通道的随机结果(Go)

我有以下代码: 函数 writeToClosedBufferedChannel() { ch := make(chan int, 2) ch <- 10 ch <- 20 go func() { fmt.Println("test") ch <- ...


想要找到有效的方法来替换多个switch语句

同时(1){ 计算<< "Enter the number corresponding to your choice:" << "\n"; cout << "1 - Go North\n"; cout << "2 - Go East\n...


GoLang 中何时/如何调用和使用 init()?

在Win 11 Pro机器上使用Go 1.21.4并为Go绑定GTK 3。 对 Go 中何时/如何调用和使用 init() 函数感到困惑。 简单示例代码: 包 GTKView 进口 ( “github...


Go 中存在集合吗? (就像Python一样)

有没有类似Python中Set的Go集合? 备择方案: 在 Go 中是否有一种简单的方法来实现 Sets? 有什么方法可以消除切片中的重复项吗?


Golang go例行运行,但和我想象的不一样

所以我有这个简单的 go 例程代码 func jobX(wg *sync.WaitGroup) { 推迟 wg.Done() 对于我:= 0;我< 5; i++ { fmt.Println("routine X: ", i) if i == 2 { ...


Go 中负整数的模

我正在学习 Go,并且有 Python 背景。 最近,我偶然发现 %(modulo) 运算符的行为与 Python 中相应的运算符不同。完全相反...


在 Go 中,SyscallConn() 什么时候对常规 *os.File 有用?

我正在阅读一些使用 SyscallConn() (在 *os.File 上定义的函数)的 Go 代码(来自 https://github.com/KarpelesLab/reflink): // reflinkInternal 执行实际的 reflink 操作,而不会...


使用 expo go 从资产文件夹中读取文件

尝试使用 React Native expo go 从资产文件夹中读取文件 从“expo-asset”导入{资产}; 从“expo-file-system”导入*作为文件系统; ... const getFiles = asy...


为什么 goGTK 小部件没有在 init() 函数中初始化? [已关闭]

我在 Windows 11 Pro 机器上使用 Go 1.21.4,并使用 GTK 3 绑定 Go。 简单示例代码: 包 GTKView 进口 ( “github.com/gotk3/gotk3/gtk” ) var mToolbar *gtk.Toolbar 变...


何时何地在 DolphinDB 中添加 go 语句?

go 语句将脚本分成两个块。第一个块中注册的变量只有在 DolphinDB 解析并执行第一个块后才能在第二个块中引用和解析。嗬...


在 Windows 11 上使用 Go 和 gocv for OpenCV 无法找到标头 opencv.hpp,即使设置了 CGO_CXXFLAGS

运行go run时,没有发现。 但是当列出目录时,标题就在那里...... PS C:\Users\phili\SourceCode\goopencv> 设置 CGO_CPPFLAGS="-IC:/Users/phili/SourceCode/opencv/build/include&...


Go错误:time.Time未实现driver.Valuer(缺少方法Value)

我正在开发一个 Go 项目,在该项目中,我使用 sqlboiler 从我使用 setup.sh 脚本创建的 SQLite3 数据库生成代码。我遇到了一个似乎无法解决的错误。错误


如何使用 Dio/Flutter(前端)和 Go(后端)向 API 发送正确的请求

我现在正在 Android Studio 中测试它。这是我尝试在 Flutter 前端中使用的 Go 代码: func 登录(c *gin.Context) { // 从请求正文中获取电子邮件和密码 var b...


使用 kafka-go 和循环平衡器时,数据始终进入分区 0

我正在使用 kafka-go 库将消息写入 Kafka。我正在使用循环平衡器,但数据始终进入分区 0。我尝试忽略所有消息的分区字段,但是...


react Native expo go 在 uvicorn https 后无法连接到本地主机

我正在编写一个带有 fastapi 后端的 React Native expo go 应用程序。 这是一个教育应用程序,所以它有图像、视频和 pdf 等。 React Native Image 组件未在 ios 模拟器上加载图像,我...


在 Go 中迭代结构体的字段

基本上,(据我所知)迭代结构体字段值的唯一方法如下: 类型示例结构{ a_number uint32 a_string 字符串 } //... r := &Exa...


Golang elasticsearch TypedClient 聚合如何循环结果

我正在使用 Elastic 的官方 Elasticsearch Go Typed Client 包来查询 uniq 服务名称,为此我构建了一个聚合搜索。查询成功,响应包含Bu...


Flutter:版本解决pubget失败

注意:meta 通过 flutter SDK 中的integration_test 固定到版本 1.10.0。 有关详细信息,请参阅 https://dart.dev/go/sdk-version-pinning。 因为 sdk 中的每个版本的integration_test都依赖于...


azblob.ContainerClient 在 azblob sdk for go 迁移到 v1 后取消定义

输入 func NewFlowlogParse(文件名字符串, 容器 *azblob.ContainerClient, chmsg chan 字符串, bookmark chan 书签, bk_time 字符串) 并且也遇到了与 containerURL、azblob 相同的问题。


nodeJS google-protobuf 中的描述符

你好,我是 gRPC 和 ProtoBuf 的新手 我正在尝试通过 grpc 从用 Go 编写的微服务进行通信。 在某些操作中,要发送请求,我需要设置在


Go vs JavaScript JSON 解析

最近,我需要解析 Chrome Web 浏览器在开发工具中记录事件时生成的 JSON,并从中获取一些计时数据。 Chrome 可以产生相当大量的数据...


Go 程序不等待 scanf 输入

我在c中发现了一些类似的问题,但解决方案是c特定的。包主 这是代码的最小工作示例 导入“fmt” 函数主() { var 模式字符串 ...


减小表格子图之间的大小

我正在尝试将两个表添加到报告中,但表之间的空间存在问题。通过 MRE: 将 pandas 导入为 pd 将plotly.express导入为px 导入plotly.graph_objects作为go ...


尝试通过websocket和client-go与k8s容器交互

当我尝试与k8s容器交互时,我发现我无法获取容器结果,而是获取我输入的内容。哪里有问题? func ExecCommandInPod(ctx context.Context, conn *websocket2.


如何使用 mongo-go-driver 模拟聚合

我试图模拟 mongoDB 函数 Aggregate 但它不断返回命令失败的一般错误。 如果有人感兴趣,有一个关于其他功能以及如何模拟的不错的博客...


在闪存驱动器中写入文件(仅限Android)

是否可以使用flutter将文件保存到闪存驱动器? 我正在使用带有 USB c 端口的随身碟,如下所示: https://www.bestbuy.com/site/sandisk-ultra-dual-drive-go-1tb-usb-type-a-usb-type-c-flash-


go-flags 忽略未知输入

如何使标志忽略未知输入并将其存储以供进一步处理? 我看过一些关于 const IgnoreUnknown 的内容,但我不确定如何使用它,因为当我尝试将其如下所示时


Go 中的 for 循环中缺少 return 语句

我注意到,当我编写以下代码时,编译器会产生缺少返回语句的错误: // 类似的循环在重试模式中有意义 // 但这只是一个简单的例子 功能


VS Code 阻止 Go to 符号在屏幕中央显示结果

当使用“转到编辑器中的符号...”或“转到工作区中的符号...”VS Code 时,所选符号位于屏幕中央。有没有办法将符号放在屏幕顶部? 我是


DDD & Clean Architecture:为什么不在应用层定义存储库?

我正在使用带有 Clean Architecture 和 DDD 的 Go。我不喜欢我需要在域层定义我的存储库。最后是应用程序层定义了它想要的内容,例如作为


有没有办法确定使用`flag.VisitAll`时是否设置了标志?

我正在使用 go 的原生“flag”包。 它内置了使用 flag.VisitAll 访问所有当前定义的标志的能力。 我正在尝试构建一个片段来尝试获取该值......


将图像从 Google 表单插入 Google 幻灯片

我正在尝试制作一份根据谷歌表单答案生成的报告。我找到了一些方法来填充文本,但问题是我需要在 go 的报告中添加来自 google 表单答案的图像...


如何判断Go argparse返回的*os.File是否已初始化

我有一个使用 argparse 的 golang 项目,它接受不需要的文件作为参数。该文件是通过文件标志检索的,该标志可能正在为文件分配一些内存。代码 : 包主 导入...


如何在Expo应用程序中集成应用内购买?

我有一个与 Expo Go 的应用内购买相关的问题。 我希望将支付功能集成到我的移动应用程序中,以允许用户解锁优质内容。 我注意到没有图书馆 Comp...


使用 mongo-go-driver,如何有效地从 WriteError 中检索重复的字段名称?

我的收藏中有三个唯一的索引。当用户不小心插入了字段 B 中重复的数据时,我如何知道重复项来自字段 B? 关于唯一索引约束


有没有办法使用 Go 的 `flag` 包捕获所有无法识别的命令行标志?

我目前正在围绕 git diff 编写一个包装器,如果将任何与我的程序不直接相关的标志传递给 git diff,那就太好了。例如: 运行我的工具


为什么我的 expo 应用程序无法在 codeandbox 中运行?我无法运行

我试图在codesandbox中在线运行我的项目,但是当我打开服务器时,我无法在智能手机中连接Expo Go,它说网络连接超时错误。 我通常知道这个错误


什么阻止了我在 Go 中使用 pgx 的函数调用?

我正在编写一项服务,其中我的学生来自 PostgreSQL 的 UUID。我选择pgx作为驱动程序。我已经完全调试了我的程序,并且在我调用 row.Scan 后似乎没有调用任何内容。我的康...


如何将React项目用于html网站的整个子路由

我有一个现有的 HTML 页面和一个 React 项目。如何连接它们? 首页.html 进入React页面 应用程序.js 我有一个现有的 HTML 页面和一个 React 项目。如何连接它们? home.html <button>go to React page</button> 应用程序.js <BrowserRouter> <Routes> <Route path="/mypage" element={<Mypage />}> </Routes> </BrowserRouter> 我想点击“转到React页面”按钮,我可以导航到"/mypage"? 该按钮应实现对 "/mypage" URL 的导航操作,该 URL 最好为您的 React 应用程序提供服务。 home.html 更新按钮以包含重定向到子路线的点击处理程序 <button onclick="navigateToReactApp()">go to React page</button> const navigateToReactApp = () => { window.location.href = "/mypage"; // check the path correctness }; 或者使用锚标记,这在语义上可能更正确。 <a href="/mypage">go to React page</a> App.js 通过设置 "/mypage" 属性,更新路由器以使所有路由/链接/等从托管/服务应用程序的 basename relative 工作。 <BrowserRouter basename="/mypage"> <Routes> <Route path="/" element={<Mypage />}> </Routes> </BrowserRouter>


go:调用接口上的方法会创建新副本作为类型断言的一部分,需要断言指针的类型才能从指针调用方法

所以我有一个为看板实现的结构,这里有一些与问题相关的结构: 类型菜单结构{ 项目 dll.DLL } 类型项目结构{ 标题字符串 ...


gofpdf - 居中对齐文本之间的粗体文本

我想在居中对齐的文本之间渲染文本。 这就是我尝试过的 html := pdf.HTMLBasicNew() _, lineHt := pdf.GetFontSize() html.Write(lineHt, "我的名字是Bot<... 我想在居中对齐的文本之间渲染文本。 这是我尝试过的 html := pdf.HTMLBasicNew() _, lineHt := pdf.GetFontSize() html.Write(lineHt, "<center>My name is <b>Bot<b></center>") 但只有 My name is 居中对齐,而不是整个文本 My name is Bot 如何通过 gofpdf 实现这一目标 或者 go 中的任何其他包可以实现此目的? 我创建了一个简单的 pdf 生成程序,并将代码片段插入其中,但我没有遇到任何问题,整个文本My name is Bot对齐到中心。下面是我编写的代码: package main import ( "github.com/jung-kurt/gofpdf" ) func main() { pdf := gofpdf.New("P", "mm", "A4", "") pdf.AddPage() pdf.SetFont("Courier", "", 16) html := pdf.HTMLBasicNew() _, lineHt := pdf.GetFontSize() html.Write(lineHt, "<center>My name is <b>Bot<b></center>") err := pdf.OutputFileAndClose("myFile2.pdf") if err != nil { panic(err) } } 我刚刚遇到了完全相同的问题,并且它并没有一致地发生......但我所看到的是,由于 HTML 标记生成器的工作方式, id 绝对有意义它的发生。它基本上调用 WriteAligned 与文本的第一部分,然后单独查看第二部分(在 bs 之间)并在已经写入第一部分之后写入。 我目前没有解决方案,但我也在寻找解决方案


访问另一个选项卡中的页面时,PHP 是否会重新初始化会话变量?

我正在 PHP 8.0.30 中构建一个简单的网站,用户成功登录后,特定值将添加到 $_SESSION 中,包括上次访问时间,如下所示: 索引.php 我正在 PHP 8.0.30 中构建一个简单的网站,用户成功登录后,特定值将添加到 $_SESSION,包括他们最后一次访问的时间,如下所示: index.php <?php # Code below is simplified to focus on the relevant lines if ($userisauthenticated) { $_SESSION['lastaccess'] = time(); echo "<script>console.log('Code in index.php was run'); </script>"; } ?> 如果用户将来再次加载另一个页面,我会检查上次访问的时间,如果在指定的时间限制内,则加载页面的其余部分或以其他方式将其注销。请参阅下面的示例: 仪表板.php <?php session_start(); echo "<script>console.log('lastaccess: " . $_SESSION['lastaccess'] . "' ); </script>"; # The code afterwards tries to check if the user is still logged in if (array_key_exists('lastaccess', $_SESSION)) { if (time() - $_SESSION["lastaccess"] < 60 * 60 * 48) { # Go ahead and load page } else { # Log user out } } ?> 但是,我遇到了一个奇怪的问题,如果我通过 index.php 登录,然后几分钟后打开一个新选项卡并通过直接输入网址访问 dashboard.php,则 lastaccess 值与 index.php 不同已经设置了。前两行字面上就是我上面的内容,因此前面没有代码来更改 lastaccess 值。 我还在 index.php 中的控制台中插入了一个测试输出,以查看新选项卡是否由于某种原因预加载 index.php,但是当我在新选项卡中加载 dashboard.php 时,该测试输出永远不会打印到控制台选项卡。 这种情况也只发生在我尝试此操作的某些时候(并非总是如此),这让我想知道它是否与我的浏览器有关(我使用的是 Google Chrome)。 PHP 是否有可能在新选项卡中加载页面时重新初始化存储在 $_SESSION 变量中的值?我对 PHP 会话的了解缺少什么以及导致此问题的原因是什么? 原来是Google Chrome 中的预取设置。当我输入 URL 时,第一个建议是主 URL,它指向 index.php。 Google Chrome 正在预取触发脚本的页面(我的错是没有正确设置它)。 当我打开一个新选项卡只是为了输入 URL 时发现了这一点,是否没有转到该页面并关闭了该选项卡,然后返回到我设置的测试页面以查看 lastaccess 值,刷新了一下,发现值已经更新了!


通过更少的 Java API 调用来映射 Google 云端硬盘内容的有效方法

大家好,我有一个代码,用于列出共享驱动器中存在的文件(以便稍后下载并创建相同的文件夹路径) 目前我做这样的事情: 哈希映射 大家好,我有一个代码,用于列出共享驱动器中存在的文件(以便稍后下载并创建相同的文件夹路径) 目前我正在做这样的事情: HashMap<String, Strin> foldersPathToID = new HashMap<>(); //searching all folders first saving their IDs searchAllFoldersRecursive(folderName.trim(), driveId, foldersPathToID); //then listing files in all folders HashMap<String, List<File>> pathFile = new HashMap<>(); for (Entry<String, String> pathFolder : foldersPathToID.entrySet()) { List<File> result = search(Type.FILE, pathFolder.getValue()); if (result.size() > 0) { String targetPathFolder = pathFolder.getKey().trim(); pathFile.putIfAbsent(targetPathFolder, new ArrayList<>()); for (File file : result) { pathFile.get(targetPathFolder).add(file); } } } 递归方法在哪里: private static void searchAllFoldersRecursive(String nameFold, String id, HashMap<String, String> map) throws IOException, RefreshTokenException { map.putIfAbsent(nameFold, id); List<File> result; result = search(Type.FOLDER, id); // dig deeper if (result.size() > 0) { for (File folder : result) { searchAllFoldersRecursive(nameFold + java.io.File.separator + normalizeName(folder.getName()), folder.getId(), map); } } } 搜索功能是: private static List<com.google.api.services.drive.model.File> search(Type type, String folderId) throws IOException, RefreshTokenException { String nextPageToken = "go"; List<File> driveFolders = new ArrayList<>(); com.google.api.services.drive.Drive.Files.List request = service.files() .list() .setQ("'" + folderId + "' in parents and mimeType" + (type == Type.FOLDER ? "=" : "!=") + "'application/vnd.google-apps.folder' and trashed = false") .setPageSize(100).setFields("nextPageToken, files(id, name)"); while (nextPageToken != null && nextPageToken.length() > 0) { try { FileList result = request.execute(); driveFolders.addAll(result.getFiles()); nextPageToken = result.getNextPageToken(); request.setPageToken(nextPageToken); return driveFolders; } catch (TokenResponseException tokenError) { if (tokenError.getDetails().getError().equalsIgnoreCase("invalid_grant")) { log.err("Token no more valid removing it Please retry"); java.io.File cred = new java.io.File("./tokens/StoredCredential"); if (cred.exists()) { cred.delete(); } throw new RefreshTokenException("Creds invalid will retry re allow for the token"); } log.err("Error while geting response with token for folder id : " + folderId, tokenError); nextPageToken = null; } catch (Exception e) { log.err("Error while reading folder id : " + folderId, e); nextPageToken = null; } } return new ArrayList<>(); } 我确信有一种方法可以通过很少的 api 调用(甚至可能是一个调用?)对每个文件(使用文件夹树路径)进行正确的映射,因为在我的版本中,我花了很多时间进行调用 service.files().list().setQ("'" + folderId+ "' in parents and mimeType" + (type == Type.FOLDER ? "=" : "!=") + "'application/vnd.google-apps.folder' and trashed = false").setPageSize(100).setFields("nextPageToken, files(id, name)"); 每个子文件夹至少一次......并且递归搜索所有内容需要很长时间。最后,映射比下载本身花费的时间更多...... 我搜索了文档,也在此处搜索,但没有找到任何内容来列出具有一个库的所有驱动器调用任何想法? 我想使用专用的 java API 来获取共享 GoogleDrive 中的所有文件及其相对路径,但调用次数尽可能少。 提前感谢您的时间和答复 我建议您使用高效的数据结构和逻辑来构建文件夹树并将文件映射到其路径,如下所示 private static void mapDriveContent(String driveId) throws IOException { // HashMap to store folder ID to path mapping HashMap<String, String> idToPath = new HashMap<>(); // HashMap to store files based on their paths HashMap<String, List<File>> pathToFile = new HashMap<>(); // Fetch all files and folders in the drive List<File> allFiles = fetchAllFiles(driveId); // Build folder path mapping and organize files for (File file : allFiles) { String parentId = (file.getParents() != null && !file.getParents().isEmpty()) ? file.getParents().get(0) : null; String path = buildPath(file, parentId, idToPath); if (file.getMimeType().equals("application/vnd.google-apps.folder")) { idToPath.put(file.getId(), path); } else { pathToFile.computeIfAbsent(path, k -> new ArrayList<>()).add(file); } } // Now, pathToFile contains the mapping of paths to files // Your logic to handle these files goes here } private static List<File> fetchAllFiles(String driveId) throws IOException { // Implement fetching all files and folders here // Make sure to handle pagination if necessary // ... } private static String buildPath(File file, String parentId, HashMap<String, String> idToPath) { // Build the file path based on its parent ID and the idToPath mapping // ... }


© www.soinside.com 2019 - 2024. All rights reserved.