iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >不能使用 struct 作为类型 struct {...}
  • 136
分享到

不能使用 struct 作为类型 struct {...}

编译错误 2024-02-10 20:02:56 136人浏览 八月长安
摘要

PHP小编小新在这篇文章中将介绍一个重要的注意事项:在php中,不能使用"struct"作为类型。这是由于PHP语言本身的限制,不支持类似于C语言中的"struct"类型定义。在PHP

PHP小编小新在这篇文章中将介绍一个重要的注意事项:在php中,不能使用"struct"作为类型。这是由于PHP语言本身的限制,不支持类似于C语言中的"struct"类型定义。在PHP中,我们可以使用类(class)来定义自定义的数据结构,以及相关的属性和方法。通过使用类的方式,我们可以更灵活和强大地操作数据,实现更复杂的逻辑和功能。因此,在编写PHP代码时,请记得避免使用"struct"作为类型定义,而是使用类来替代。这样能够更好地符合PHP语言的特性和规范,使代码更易读、易懂和易维护。

问题内容

我有这个代码:

type Iterable[T any] struct {
    Val  T
    End  T
    Next func() (bool, T)
}

func acceptStructWithNext[T any](r struct{ Next func() (bool, T) }) {
    fmt.Println(r)
}

func main() {

    iterable := Iterable[int]{
        Val: 0,
        End: 100,
        Next: func() (bool, int) {
            return true, 0
        },
    }

    acceptStructWithNext[int](iterable) // error is here

}

我收到此编译错误:


Cannot use 'iterable' (type Iterable[int]) as the type struct {...}

我认为结构类型应该允许这种类型的事情 - 我哪里出错了?

解决方法

是的,但是 Go 没有“结构类型”。在某种程度上,结构类型的好处可以通过接口的隐式满足规则获得。但这仅适用于界面

请参阅https://www.php.cn/link/2a2f98d3597419498e4d734d8c2dd106

假设 Go 会有像教科书一样的结构类型结构类型。

以上就是不能使用 struct 作为类型 struct {...}的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 不能使用 struct 作为类型 struct {...}

本文链接: https://www.lsjlt.com/news/563235.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 不能使用 struct 作为类型 struct {...}
    php小编小新在这篇文章中将介绍一个重要的注意事项:在PHP中,不能使用"struct"作为类型。这是由于PHP语言本身的限制,不支持类似于C语言中的"struct"类型定义。在PHP...
    99+
    2024-02-10
    编译错误
  • C#调用C类型dll入参为struct的问题详解
    前言 C# 可以通过 DllImport 的方式引用 C 类型的 dll。但很多 dll 的参数不会是简单的基础类型,而是结构体 struct 。因此就需要在 C# 端定义同样的结构...
    99+
    2024-04-02
  • C#中调用C类型dll入参为struct的问题分析
    这篇文章将为大家详细讲解有关C#中调用C类型dll入参为struct的问题分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言C# 可以通过 DllImport 的方式引用 C 类型的 dll。但很多 ...
    99+
    2023-06-14
  • 使用any实例化通用接口,struct不实现它
    php小编柚子在这篇文章中将为大家介绍使用any实例化通用接口的方法,并解释为什么struct并不实现它。通用接口是一种非常有用的设计模式,它允许我们在编写代码时使用更加灵活的方式。然...
    99+
    2024-02-08
    overflow
  • 为什么不建议使用DiskFileUpload类型
    不建议使用DiskFileUpload类型的主要原因是它会将文件保存到临时目录中,而临时目录可能会被清理或定期清除。这就意味着在某些...
    99+
    2023-08-08
    DiskFileUpload
  • 使用spring注入枚举类型作为参数
    目录spring注入枚举类型作为参数Spring参数注入1、通过构造方法实现参数注入2、通过set方法注入3、P命名空间注入spring注入枚举类型作为参数 //定义枚举类型 p...
    99+
    2024-04-02
  • java怎么用类名作为变量类型
    在Java中,类名可以作为变量类型。要使用类名作为变量类型,可以按照以下方式声明变量: ClassName variableName...
    99+
    2023-10-25
    java
  • 无法在赋值中使用 make(Entry, 0, 100) (类型 Entry)作为类型 Map
    来到编程网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《无法在赋值中使用 make(Entry, 0, 100) (类型 Entry)作为类型 ...
    99+
    2024-04-04
  • Golang字符串类型为什么不能修改
    这篇“Golang字符串类型为什么不能修改”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Golang字符串类型为什么不能修改...
    99+
    2023-07-04
  • 使用String类型小数值转换为Long类型
    目录String类型小数值转为Long类型解决方案如下String类型转int,转long转int转longString类型小数值转为Long类型 数值分为小数和整数,当传入的类型为...
    99+
    2024-04-02
  • 使用自定义类型作为键的Go语言map
    标题:使用自定义类型作为键的Go语言map示例 在Go语言中,可以使用自定义类型作为map的键,这为我们提供了更灵活的数据存储方式。通过定义自定义类型,可以实现更复杂的键值关系,以满足...
    99+
    2024-04-02
  • 不建议使用类型DiskFileUpload
    为对文件进行上传操作,通常不建议使用`DiskFileUpload`类型。`DiskFileUpload`是Apache Commo...
    99+
    2023-08-08
    DiskFileUpload
  • Golang 泛型 - 在传递函数指针时不能使用类型代替相同类型
    问题内容 我是 golang 新手,我正在研究以下结构: type Flag[T any] struct { defaultValue interface{} } 其中 T ...
    99+
    2024-02-06
    编译错误
  • 为什么 Go 函数不能返回带有约束类型参数的类型?
    为什么Go函数不能返回带有约束类型参数的类型?这是一个经常引发疑惑的问题。在Go语言中,函数的返回类型不能是带有约束类型参数的类型,这主要是由于Go语言对泛型的支持较为有限所导致的。在...
    99+
    2024-02-09
    go语言
  • 解决@RequestBody使用不能class类型匹配的问题
    @RequestBody不能class类型匹配 在首次第一次尝试使用@RequestBody注解 开始加载字符串使用post提交(貌似只能post),加Json数据格式传输的时候, ...
    99+
    2024-04-02
  • 为什么不能根据返回类型区分重载?
    重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?答:方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同...
    99+
    2023-06-03
  • Golang中的字符串类型为什么不能修改
    今天小编给大家分享一下Golang中的字符串类型为什么不能修改的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。字符串定义字符串...
    99+
    2023-07-05
  • 在vue中为什么不能用index作为key
    目录一、key的作用是什么?二、什么是虚拟DOM?三、什么是diff算法四、为什么不能用index作为key?(1)index不能作为key--情景一(2)index不能作为key-...
    99+
    2024-04-02
  • 为什么不使用isSuccess作为变量名
    本篇内容介绍了“为什么不使用isSuccess作为变量名”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在日常开发中,我们会经常要在类中定义布...
    99+
    2023-06-04
  • 云服务器ecs实例类型包括高性能计算吗为什么不能用
    云服务器ECS实例类型不仅仅是高性能计算,还包括了高可用性、容错、弹性扩展等功能。因此,不能简单地说,某一种特定的实例类型具有“高性能计算”或者“高可用性”等功能。 一般来说,云服务器ECS实例类型可以用来进行高性能计算,特别是在大数据或...
    99+
    2023-10-26
    不能用 高性能 实例
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作