You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需临时变量向API传递string指针?

在Go中无需临时变量传递字符串指针给API

Go语言里不能直接取字符串字面量(比如"foobar")的地址,这类字面量属于不可寻址的常量,直接写&"foobar"会触发编译错误。不过有两种无需显式声明临时变量的方法可以实现需求:

方法一:利用结构体字面量的字段地址

通过构造匿名结构体字面量,直接获取其字符串字段的地址:

weirdFun(&struct{ s string }{ "foobar" }.s)

这里的结构体仅作为临时载体,不需要提前定义或声明变量,调用时直接在参数位置构造即可。

方法二:通过匿名函数返回指针

借助匿名函数内部创建字符串并返回其指针,同样不需要外部临时变量:

weirdFun(func() *string { s := "foobar"; return &s }())

匿名函数会在调用时执行,内部临时字符串s的地址会被返回并传入weirdFun。

两种方法都能避免显式临时变量的使用,其中第一种写法更简洁直观。

内容的提问来源于stack exchange,提问作者Philippe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 06:45:29