首页 > 其他分享 >TS中的泛型

TS中的泛型

时间:2023-06-22 16:11:38浏览次数:74  
标签:string list TS value var minNum 泛型

// 1泛型的定义
// 泛型:在软件工程中,我们不仅要创建一致的定义良好的api,同时也要考虑可重用性。组件不仅能够支持当前的数据类型,还能支持未来的数据类型
// 在C#和Java这种语言中,可使用泛型来创建可重用的组件,一个组件支持多种类型的数据
// 2泛型函数
// T表示泛型,具体什么类型调用这个方法的时候决定的
function getData<T>(value:T):T{
    return value
}
getData<number>(123)
// 3泛型类
// 比如有个最小堆算法,需要同时支持返回数字和字符串两种类型
// class Minclass{
//     public list:number[]=[]
//     add(num){
//         this.list.push(num)
//     }
//     min():number{
//         var minNum=this.list[0]
//         for(var i=0;i<this.list.length;i++){
//             if(minNum>this.list[i]){
//                 minNum = this.list[i]
//             }
//         }
//         return minNum
//     }
// }
// var m = new Minclass()
// m.add(2)

class Minclass<T>{
    public list:T[]=[]
    add(value:T):void{
        this.list.push(value)
    }
    min():T{
        var minNum=this.list[0]
        for(var i=0;i<this.list.length;i++){
            if(minNum>this.list[i]){
                minNum = this.list[i]
            }
        }
        return minNum
    }
}
var m = new Minclass()
m.add(2)
// 4泛型接口
// 函数类型接口
// interface Configfn{
//     (value1:string,value2:string):string;
// }
// var setData:Configfn=function(value1:string,value2:string):string{
//     return value1+value2
// }
// 泛型接口
interface Configfn{
    <T>(value:T):T;
}
var setData:Configfn=function<T>(value:T):T{
    return value
}

标签:string,list,TS,value,var,minNum,泛型
From: https://www.cnblogs.com/le-cheng/p/17497948.html

相关文章

  • Delete vector contents and free up memory in C++
     DeletevectorcontentsandfreeupmemoryinC++Thispostwilldiscusshowtodeletethevector’scontentsandfreeupthememoryallocatedbythevectortostoreobjectsinC++.1.Using vector::clear functionWecanusethe vector::clear......
  • windows环境下,搭建RTSP视频推流服务器
    1.环境与配置1.1系统环境我这里使用的Windows1064位1.2下载RTSP服务器下载页面:https://github.com/aler9/rtsp-simple-server/releases这里,我们下载rtsp-simple-server_v0.19.1_windows_amd64.zip在百度网盘上下载也可以链接:https://pan.baidu.com/s/1FqMnAJWPo......
  • java泛型
    泛型原理什么是泛型&为什么引入泛型publicstaticvoidmain(String[]args){ArrayListlist=newArrayList();list.add(521);//添加Integer类型元素list.add("wan");//添加String类型元素list.add(true);//添加Boolean类型元素......
  • Service内核原理(二):自带工程线的IntentService
    为什么要使用IntentService:IntentServiceisabaseclassfor{@linkService}sthathandleasynchronous*requests(expressedas{@linkIntent}s)ondemand.Clientssendrequests*through{@linkandroid.content.Context#startService(Intent)}calls;the*serviceis......
  • PostgreSQL 15 stats collector 在取消后是如何实现的原有功能的
    开头还是介绍一下群,如果感兴趣polardb,mongodb,mysql,postgresql,redis等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。在POSTGRESQL15有一个重要的功能去掉了statscollector在说为什么去掉这个statscollector的问题前,我们先得弄清出statscoll......
  • 换个姿势,十分钟拿下Java/Kotlin泛型
    0x1、引言解完BUG,又有时间摸鱼学点东西了,最近在复习Kotlin,跟着朱涛的《Kotlin编程第一课》查缺补漏。看到泛型这一章时,想起之前面一家小公司时的面试题:说下你对泛型协变和逆变的理解?读者可以试试在不查资料的情况下能否答得上来?反正我当时是没想起来,尽管写过一篇《Kotlin刨根问底......
  • .net core IOC容器实现(二) -- GetService
    使用IOC容器最重要的两个步骤就是注入服务和从容器内获取服务实例。上一节聊的ServiceDescriptor其实就可以看成注入服务的步骤,这一节初步聊一聊获取服务实例的相关源码。GetServiceGetService方法是获取服务实例的入口,位于ServiceProvider这个类中publicobject?GetServ......
  • 配置AWStats的一些参考资料
    参考资料:AWStatslogfileanalyzer6.6Documentationhttp://www.aiview.com/cgi-bin/awstats/docs/awstats_faq.html#OLDLOG强大的日志分析工具AWStatshttp://yahoon.blog.51cto.com/13184/40392AWStats简介:Apache/WindowsIIS的日志分析工具的下载,安装,配置样例和使用(含......
  • Could not load file or assembly 'XXX' or one of its dependencies.
    今天我在用VS2010的时候,突然蓝屏,然后一个WEB程序执行就会报怪异的问题:Couldnotloadfileorassembly'XXX'oroneofitsdependencies.而且其他WEBProject不报任何错误。这个WEB程序我正在做调试,害得的一直以为这个程序出问题了。其实是VS2010的缓存文件除了问题。只需要:删除......
  • Stable Diffusion 反向提示词 Negative prompts
    反向提示词(Negativeprompts)用于描述图片中不希望出现的内容。常用于阻止生成特定的事物、样式或修复某些图像异常。下面是一些例子从“宁静的精灵森林”中移除“苔藓”宁静的精灵森林peacefulelvenforest,thickforest,largelivingtreesarevisibleinthebackground,b......