将 nil 字符串指针设置为空字符串

2024-04-20

如何将类型中字符串指针的引用值设置为空字符串? 考虑这个例子:

package main

import (
    "fmt"
)

type Test struct {
    value *string
}

func main() {
    t := Test{nil}
    if t.value == nil {
        // I want to set the pointer's value to the empty string here
    }

    fmt.Println(t.value)
}

我已经尝试了所有组合& and *运算符无济于事:

t.value = &""
t.value = *""
&t.value = ""
*t.value = ""

显然其中一些是愚蠢的,但我没有看到尝试有什么坏处。 我也尝试过使用reflect and SetString:

reflect.ValueOf(t.value).SetString("")

这会产生编译错误

恐慌:反射:reflect.Value.SetString 使用不可寻址的值

我假设这是因为 Go 中的字符串是不可变的?


字符串文字不是可寻址的 https://golang.org/ref/spec#Address_operators.

获取包含空字符串的变量的地址:

s := ""
t.value = &s

或使用新的:

t.value = new(string)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 nil 字符串指针设置为空字符串 的相关文章

  • 使用私有 git 存储库时的 go 工作区结构

    当你不使用 github 时 我一直在尝试找出 go 代码 工作区的标准文件夹布局 结构 我可以看到如何go get在获取 github 项目时有效 但假设我自己的 git 项目不会有 github com username project
  • c++ 如何释放和删除指向对象的指针的二维数组

    在SO问题 如何在C 中分配指针的二维数组 1 中 接受的答案还说明了如何取消分配和删除所述数组的正确过程 即 小心删除包含的指针 行数组和列数组全部分开且顺序正确 因此 我已经在元胞自动机模拟程序中成功地使用了这个二维阵列 但是 我无法使
  • python中unicode字符串到ascii字符串的近似转换

    不知道这是否微不足道 但我需要将 unicode 字符串转换为 ascii 字符串 并且我不希望周围有所有这些转义字符 我的意思是 是否有可能 近似 转换为一些非常相似的 ascii 字符 例如 Gavin O Connor 转换为 Gav
  • Java 中的 For-Each 和指针 [重复]

    这个问题在这里已经有答案了 好的 所以我尝试迭代 ArrayList 并删除特定元素 但是 我在使用 For Each 之类的结构时遇到了一些麻烦 当我运行以下代码时 ArrayList
  • 点分隔的字符串资源名称有什么用?

    我使用 Snake style 来命名字符串资源 在某人的代码中 我发现了另一种带有点的符号 我无法找到关于这个主题的任何单词
  • C++中如何判断传入的缓冲区是否有效?

    在我的函数中 内存指针及其大小作为参数传递 int myFun uintptr t mem ptr int mem size Code here 有没有办法判断这块内存是否真的有效 操作系统是 CentOS Linux 版本 7 9 200
  • 当转义引号存在时,在外部引号或外部方括号中分割逗号

    是否可以按照以下条件拆分字符串 用 即逗号 分隔 在每个元素上 忽略第一个 和最后一个 内的逗号检查 在每个元素上 忽略第一个 和最后一个 内的逗号检查 e g String source to char DATE YYYY MM DD I
  • 如何使用C来限制SubString、Limit? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 第1节 include
  • 从文件中读取单词并放入列表中

    本质上 我有一个巨大的文件 所有文件包含每行多个单词 每个单词用空格分隔 有点像这样 WORD WORD WORD WORD ANOTHER WORD SCRABBLE BLAH YES NO 我想要做的是将文件中的所有单词放入一个巨大的列
  • 用于检索编辑距离接近的字符串的数据结构

    例如 从一组英语单词开始 是否有一种结构 算法允许使用单词 right 作为查询来快速检索诸如 light 和 tight 之类的字符串 即 我想检索与查询字符串编辑距离较小的字符串 The BK tree http blog notdot
  • 在Python中通过引用传递引用

    python 中是否可以通过引用传递引用 在C 中 可以通过向数据传递指针来模仿Python传递数据的模型 指针按值传递 函数可以更改它指向的任何内容 但函数不能更改指针的值 但是 在 C 中 您还可以传递对指针的引用 在这种情况下 您可以
  • 如何通过j2me api解析包含负数的字符串?

    我有一个带有数字的字符串 我必须解析这个字符串并将这些数字存储在 int float 等中 相应地 String str 100 2 0 100 19 99 0 我可以这样做Integer parseInt and Float parseF
  • C# 如何比较两个字符串并指出哪些部分不同

    例如 如果我有 string a personil string b personal 我想得到 string c person i l 然而 它不一定是单个字符 我也可以这样 string a disfuncshunal string b
  • 这些比较应该返回什么?

    我有一个使用 string compare string string 对某些值进行排序的应用程序 我不明白的是为什么 1022 比较小于 10 23 而 10 23 比较小于 1024 是否有特定于 值的东西导致了这个结果 string
  • Java 按日期作为字符串对列表 进行排序

    我有一个类型列表 我想按日期元素对该列表进行排序 我用谷歌搜索 看到了一些具有可比性的解决方案 但是是否有可能在不实现类中接口的情况下做到这一点 我的列表如下所示 列表 id 33 文本 test1 日期 06 02 15 id 81 文本
  • 解析日期字符串

    我在 post 变量中有这个字符串 03 21 2011 我需要通过php解析它并将其转换成这种格式 2011 03 21 我正在使用 php 我需要这种格式 以便我可以运行此查询 SELECT prospect as Prospect c
  • 在 Java 中从字符串中提取第一个单词的最佳方法是什么?

    尝试编写一个简短的方法 以便我可以解析字符串并提取第一个单词 我一直在寻找最好的方法来做到这一点 我想我会用str split 但是我想从字符串中获取第一个单词 并将其保存在一个变量中 然后将其余的标记放入另一个变量中 有没有一种简洁的方法
  • 从字符串中删除空格,但不在开头或结尾

    我试图从 C 中的字符串中删除空格 不是从末尾 也不是从开头 只是字符串中的多个空格 例如 hello everyone this is a test hello 和 every 之间有两个空格 从 this 到 is 有五个空格 最终我想
  • 通过易失性引用/指针访问声明的非易失性对象是否会为所述访问赋予易失性规则?

    这将是一篇很长的文章 为了将其置于上下文中并提供尽可能多的信息 我必须浏览各种链接和引用 这通常是我们进入 C C 标准兔子洞的唯一方法 如果您对这篇文章有更好的引用或任何其他改进 请告诉我 但先总结一下 你可以责怪 zwol对我来说发布这
  • 如何在 Python 中小写字符串?

    有没有办法将字符串转换为小写 Kilometers kilometers See How to change a string into uppercase https stackoverflow com questions 9257094

随机推荐