网上找了不少例子在 VisualStudio2019 里面都不能用 系统是 windows
![]() | 1 rb6221 2021-08-19 13:47:20 +08:00 curl 不行? |
2 AoEiuV020 2021-08-19 14:29:08 +08:00 c++门槛还是这么高吗,一个 http 请求都很麻烦? |
![]() | 3 nannanziyu 2021-08-19 14:30:42 +08:00 ![]() https://github.com/yhirose/cpp-httplib A C++11 single-file header-only cross platform HTTP/HTTPS library. |
![]() | 4 nannanziyu 2021-08-19 14:32:43 +08:00 |
5 AoEiuV020 2021-08-19 14:40:04 +08:00 ![]() @nannanziyu 不至于, 要说有没有办法简单实现 http 请求我是一开始就相信有的, 但楼主的意思应该是已经在网上查找过,并且尝试过不少不可行的方案, 这就是前提了, 是说一个简单的 http 请求都能折腾到新手上来问, 而不是说 c++没有办法实现简单的 http 请求, 并没有什么错误, |
![]() | 6 nannanziyu 2021-08-19 14:47:08 +08:00 @AoEiuV020 1. 首先 google 关键词 "c++ http library" 第二条结果就是 cpp-httplib 2. 楼主解决问题以及寻找答案的能力差,自己找不到答案,所以来请教,这是没有问题,因为请教也是解决问题的一个方法,至少努力了 但是看到一个错误前提,不花时间思考,条件反射地得出结论,不是解决问题的方法 |
7 AoEiuV020 2021-08-19 15:02:47 +08:00 ![]() @nannanziyu 感觉你这是习惯性偷换概念了, 我都说了我前提是楼主已经出来问了,你依然觉得你有解决方案而楼主没有就能说明是楼主不行,不是 c++门槛高, 另外我花了几分钟下载试了一下你说的这个库,甚至没有想像中的方便,这东西还依赖 openssl,不开启 CPPHTTPLIB_OPENSSL_SUPPORT 就不支持 https,开启了没有 openssl 就报错, 像我这种能力差的依然不能简单利用起来实现 http 请求,说一句“c++门槛还是这么高” 没毛病吧, |
![]() | 8 shawnsh 2021-08-19 15:08:52 +08:00 via Android 确实没有 modern cpp 风格的好用的 http 库 |
9 ztcaoll222 2021-08-19 15:26:21 +08:00 用 qt |
![]() | 10 ipwx 2021-08-19 15:32:36 +08:00 ![]() |
![]() | 11 wutiantong 2021-08-19 15:45:02 +08:00 @ipwx vcpkg 不香吗? |
![]() | 12 jpacg 2021-08-19 15:46:07 +08:00 c/c++用别人的轮子都麻烦,特别是在 Windows 下。 |
![]() | 13 Otho 2021-08-19 15:56:36 +08:00 vcpkg + cpprest Qt 的也不是很好用。 |
![]() | 14 nannanziyu 2021-08-19 16:44:12 +08:00 ![]() @AoEiuV020 好,我来把解决“cpp 解决 http 请求”的整个流程列一下,你说说哪个步骤门槛高 1. 要做 http 请求,肯定找一下相关库,所以用 google 搜索 "c++ http library",第二条结果就是 cpp-httplib 2. 进入 cpp-httplib github 主页,花两分钟看下文档,ok,需要 “SSL support is available with CPPHTTPLIB_OPENSSL_SUPPORT. libssl and libcrypto should be linked.” 3. 尝试寻找 windows openssl library,使用 google 搜索 "windows openssl library download",同样第二条结果就是 ![]() 4. 点击第二条进入 Openssl Binaries 下载主页 页面仔细看一下就知道下哪个。就算不知道在页面里搜索 library,一共三条结果,排除掉第二个 for ICS 的,一共就两个,下载下来 ![]() 5. 把下载的 lib 和 headers 加入工程,实例代码拷贝一下,F5 ![]() 你说说这里哪个门槛高?也只有第五步需要有一点点 L l IncludePath 的概念,但是连 IncludePath 也叫门槛吗? |
![]() | 15 araraloren 2021-08-19 16:47:10 +08:00 你说的网上是 CSDN 吗??????? |
![]() | 16 nannanziyu 2021-08-19 16:49:48 +08:00 ![]() 说实话,我之前都是用 cpprestsdk 和 QT 的,因为楼主要“简单方案”,所以今天是第一次接触 cpp-httplib 上面全部尝试过程都是"第一次接触",然后“尝试解决问题”的过程 程序员这个行业,搜索资料,尝试解决问题的能力是很重要的 如果觉得这个都有门槛,我真心觉得需要提升一下自己 |
17 bthulu 2021-08-19 16:59:29 +08:00 可以安装 nodejs, c++动态生成 http 的 js 代码, 调用 cmd 脚本执行, 再读取控制台返回数据即可 |
18 AoEiuV020 2021-08-19 17:00:03 +08:00 @nannanziyu 一个简单的 http 请求,甚至不能复制粘贴运行直接搞定,还要谷歌搜索两次,还要看文档,还要下载合适的库,还要正确的引用库,这就是门槛, |
19 AoEiuV020 2021-08-19 17:02:17 +08:00 @AoEiuV020 #18 这个流程已经可以用于“实现任何功能”了,然而仅仅是一个“简单的 http 请求”就需要这么麻烦的操作,你的门槛是被踩碎了吧,巨人, |
![]() | 20 nmap 2021-08-19 17:06:20 +08:00 ![]() 这种问题自己 google 两分钟就搞定的事,还拿来问,还引来大佬们的骂架。。。 |
21 sanyuedev 2021-08-19 17:08:46 +08:00 Java 开发 弱弱的问一下 C++ 用 http 是不是没有库的话要自己解析 socket .. |
22 jorneyr 2021-08-19 17:10:28 +08:00 封装了 Qt 的 Http 请求,调用方式如下,参考 http://qtdebug.com/qtbook-network-http-httpclient/ HttpClient("http://localhost:8080/api/rest").success([](const QString &response) { qDebug().noquote() << response; }).get(); // [3] POST 请求,使用 param 添加参数,请求的参数使用 Form 格式 HttpClient(url).debug(true).param("name", "卧龙").param("value", 99).success([](const QString &response) { qDebug().noquote() << response; }).post(); |
![]() | 23 encro 2021-08-19 17:10:33 +08:00 @AoEiuV020 @nannanziyu 门槛是相对的, 但是 C++门槛高是公认的,也是不会去重点改善的,看过作者原著的人应该都会有这个认识吧。 跨平台多字节处理就会搞死一批人,到 20 还没解决,提案到解决还要好几年吧。 如果 C++门槛低了,就没 Rust,C,GO,Python 一堆语言什么事了吧? |
![]() | 24 nannanziyu 2021-08-19 17:12:40 +08:00 ![]() @AoEiuV020 还是说,如果你看完流程,还觉得是门槛的话 如果你是学生:没关系,慢慢提升 如果你工作年限 2 年内:先不要 leetcode 和背题了,尝试找些稍微大的项目,尝试完整实现,在尝试过程中,逐渐提升自己的“搜索资料,尝试解决问题的能力”,这是你的瓶颈 如果你工作年限在 2-3 年内:尝试考公吧,换工作还来得及 如果你工作年限在 3 年外:只能说一句晚安了 |
![]() | 25 lucays 2021-08-19 17:17:31 +08:00 如果这么一个请求都要三年经验,还不算门槛么? |
![]() | 26 Rheinmetal 2021-08-19 17:21:12 +08:00 |
![]() | 27 LotusChuan 2021-08-19 17:29:00 +08:00 ![]() 这是把自己的能力高低给当最低标准了吗。还是主要目的是进来给别人规划人生。 |
![]() | 28 nannanziyu 2021-08-19 17:29:37 +08:00 ![]() @Rheinmetal 语言是工具,每种工具都有适合自己的地方 java 和 node 用 cli 把项目搭起来之前,curl 已经把结果展示在控制台上了 并不能说明 java 和 node 门槛比 curl 高 c++ 门槛不高,可以当 C with class 来写;门槛也可以高,写自己都看不懂的模板 这个简单的实现一个 http 请求的门槛不高 |
29 bfdh 2021-08-19 17:36:20 +08:00 ![]() curl --libcurl 甚至能帮你把 demo 写了。 |
30 benzalus 2021-08-19 17:41:29 +08:00 主要是门槛的一个定义问题。对我来说,门槛大概是开箱即用的程度。像 python 3 句话搞定的,c++和这些比起来门槛就相对较高了 怎么搞的跟辩论赛似的 |
![]() | 31 ysc3839 2021-08-19 17:59:48 +08:00 @AoEiuV020 #18 你说不能复制粘贴搞定,理论上配合第三方库是可行的。 前面 @nannanziyu 提到的 cpp-httplib 就已经是 header-only 的库,已经不需要你自己去折腾编译了,主要问题是那个库没有适配各个操作系统原生的 TLS API,而是省事直接用了个外部库,因此多了那几步,本质是看有没有别人帮你封装好,与语言无关。 但如果你想说别的语言都内置 http 库了,C++ 还没内置,所以门槛高,那你的结论是对的,因为 C++ 的标准委员会就是这个风格。但是在这个问题下说这个并没有意义,你只是把大部分 C++ 用户都知道的事实复述了一遍,对解决问题毫无帮助。 |
32 wevsty 2021-08-19 18:08:37 +08:00 首先,我觉得理解 include 、link 、lib 是 c/cpp 的基本功,这不需要几年的工作经验来学习,也完全不是什么高门槛。 任何语言都面临怎么使用库的问题,不能说因为默认没有某某库就说这个语言的使用门槛高。 cpp 与其说门槛高,不如说是上限高。 毕竟你可以选择把 cpp 写成简单的 C 代码或者 C with class,也可以适当使用 cpp 的特性写出一些简单易懂的模板。 毕竟没有规则强迫你必须写成精品代码,也不必把模板写成谁也看不懂的样子。 |
33 AoEiuV020 2021-08-19 18:11:55 +08:00 @ysc3839 你这个说的没错, ”你只是把大部分 C++ 用户都知道的事实复述了一遍,“ 然而真有人不知道,还怼我,这就让我不爽了, 另外,”对解决问题毫无帮助。“ 我的确不是来解决问题的,让我做的话应该会引用 libcurl, 我并不知道更简单的,所以没有回答问题, |
34 hankleeeeeee 2021-08-19 18:12:23 +08:00 1 |
![]() | 35 www5070504 2021-08-19 18:18:58 +08:00 ![]() @AoEiuV020 跟他们抬杠就已经落下风了 还是不理就好了 |
36 ZXCDFGTYU 2021-08-19 18:21:21 +08:00 这不就是个 HTTP 服务端和客户端的 C++实现的问题么。。这两个问题随便哪个百度一下得到答案的所需时间成本超过 15 分钟?不明白这吵来吵去 30 多层楼的意义。。 |
![]() | 37 nannanziyu 2021-08-19 18:21:31 +08:00 ![]() @AoEiuV020 你要复制粘贴的方法? OK 1. VS 新建一个 Cpp console 工程,工程右键 -> Manage nuget packager 2. 搜索 cpprestsdk,并 点击 install ![]() 3. 复制以下代码替换 main.cpp ,然后 F5 #include <iostream> #include <cpprest/http_client.h> int main() { web::http::client::http_client client(U("https://postman-echo.com/get?a=b")); auto rsp = client.request(web::http::methods::GET).get(); auto body = rsp.extract_string().get(); std::wcout << rsp.status_code() << "\n" << body << std::endl; } ![]() |
![]() | 38 nannanziyu 2021-08-19 18:30:51 +08:00 ![]() @AoEiuV020 全部过程录屏 |
40 OneMan 2021-08-19 18:34:29 +08:00 c++确实门槛高,搞个什么 http,ssl 最烦了 |
![]() | 41 casioyan 2021-08-19 18:35:21 +08:00 ![]() @nannanziyu 如果这是一个公司内部技术讨论群,我觉得你这么说无可厚非,在论坛上只会让人觉得恶臭。 |
![]() | 42 nannanziyu 2021-08-19 18:36:01 +08:00 为什么一开始不提供 cpprestsdk 的方法 因为楼主要简洁的方案 cpprestsdk 的门槛比 cpp-httplib 高的多得多得多,cpprestsdk 的模板代码没有 10 年工作经验看不懂;即使不看源代码只使用,因为 cpprestsdk 基于 pplx,天生异步 task,对于新手来说难度很高 而 cpp-httplib 更适合新手,只要有一点 cpp 基础,就能使用 门槛和简易度是没有关系的 |
43 hangs 2021-08-19 18:42:21 +08:00 楼主不会是参考的某*SDN 的吧。C++虽说有门槛,但我不认为没有开箱可用的 library 就算高门槛,只能算是繁琐吧 |
![]() | 44 nannanziyu 2021-08-19 18:47:51 +08:00 ![]() |
![]() | 45 atx 2021-08-19 18:51:57 +08:00 @nannanziyu #14 进了第一条链接,然后出不来了 |
![]() | 46 nannanziyu 2021-08-19 18:53:31 +08:00 @lc1450 那看下 #37 吧,#37 没有链接,不会监禁人 |
![]() | 47 buddyy 2021-08-19 18:54:10 +08:00 ![]() 啊哈哈哈,笑死我了 |
48 AoEiuV020 2021-08-19 19:05:43 +08:00 via Android @nannanziyu 自信一点,求你了,不要以为你能跨过的都不是门槛,你没有那么 low, |
![]() | 49 br00k 2021-08-19 19:06:57 +08:00 感觉对比其它语言来说还是比较麻烦的,特别跨平台的时候感觉多了很多坑。 习惯了包管理,添加依赖以后就可以随便写了。 |
![]() | 50 nannanziyu 2021-08-19 19:12:57 +08:00 ![]() @AoEiuV020 新建工程,内置包管理一下,复制粘贴 F5,真的算门槛吗? 我自问从头到尾都是好好说话,诚心帮助人,你句句杠字字刺,何苦呢 我也马上快四十了,见过的人里,脾菜比(脾气 /菜)你也算在前五了 |
![]() | 51 nannanziyu 2021-08-19 19:17:22 +08:00 ![]() |
52 OxOzZ 2021-08-19 19:21:32 +08:00 看到快 40,马上就跟某种刻板印象匹配了,这帖子一下子合理了 |
53 AoEiuV020 2021-08-19 19:30:04 +08:00 via Android ![]() @nannanziyu 你还是去睡觉吧,你没怎么见过我这样的,可你这样的我倒是在游戏区见过不少,提起魂类游戏就说简单的一匹,无伤就能打赢的 boss 有什么难的,就是你这种了, |
54 bestwaytowait 2021-08-19 19:34:48 +08:00 相比于其它语言就是门槛高啊,这话没什么问题。还有 cpp 的包管理,相比其它一些语言的普及广度,使用深度,就是差很多啊,也没什么问题 |
55 zxCoder 2021-08-19 19:36:21 +08:00 看了半天楼上的讨论,所以 c++粉丝到底是希望门槛高好还是门槛低好啊 |
56 lingxi27 2021-08-19 19:44:09 +08:00 门槛确实是相对的,对于一个 c++程序员来说楼主的问题还不至于称为门槛 |
57 LANB0 2021-08-19 19:53:10 +08:00 对于需要往各种硬件平台移植各种库的开发者来说,我需要有一个可以按照各硬件平台依赖的包管理 |
![]() | 58 zmxnv123 2021-08-19 19:53:52 +08:00 y1s1,c++相对于 Java, Python 引入库确实麻烦。 |
![]() | 59 pengtdyd 2021-08-19 20:01:06 +08:00 睡觉,睡觉,我一个 java 程序员不掺和 cpp 的讨论 |
60 nicevar 2021-08-19 20:16:24 +08:00 ![]() @nannanziyu 你跟那种嘴巴厉害解决不了问题的人杠没意思,一个写 c++的,弄个 http 请求都算门槛的话,那门槛是平的了 |
61 zhoujinjing09 2021-08-19 20:28:55 +08:00 ![]() yysy 现代语言好像只有 C++标准库做不了这个事情要另外引入包 |
62 darknoll 2021-08-19 20:45:05 +08:00 c++这玩意,我司用了十年都转其他语言了 |
![]() | 63 Hallelu 2021-08-19 21:42:58 +08:00 via iPhone http 这块说实话对于稍微有经验的 c++来说,不是啥问题,随便在搜个库,编译配置依赖头文件链接就能用了,如果是 go,python 转过来要使用相对来说比 c++转到 go,python 使用 http 门槛高多了,毕竟人家就一句 http.Get()就完事了 :)没办法 这块是硬伤 |
64 darer 2021-08-19 21:46:23 +08:00 @nannanziyu 图不错 有原图吗( |
![]() | 65 FACEB00K 2021-08-19 21:51:01 +08:00 boost 和 Qt 随便用 |
![]() | 66 iyear 2021-08-19 22:13:36 +08:00 可以,看吵架还学到了不少,自己还心情愉悦,血赚 |
67 AoEiuV020 2021-08-19 22:15:11 +08:00 via Android ![]() @Hallelu 有经验了还谈什么门槛?门槛栏的是入门前的,搜个库,编译配置依赖头文件链接哪一步都不是入门前该会的, |
68 jdz 2021-08-19 22:23:51 +08:00 via Android brpc |
69 mrsecond 2021-08-19 22:42:27 +08:00 还是用 Qt 的 QNetWorkAccessManager 吧,全面而且好用点 |
![]() | 70 fzcf 2021-08-19 23:01:17 +08:00 到现在难道没发现楼主一句话没说嘛。难道这是引战贴??? |
![]() | 71 ufan0 2021-08-19 23:17:31 +08:00 Blue DO 的同学发言一开始就是站在制高点,像极了一般的小 TL 。 友好交流是基础,而不是上来就是“只能证明自己无知”。 |
![]() | 72 LotusChuan 2021-08-20 00:37:47 +08:00 via iPhone 回头来看这是引战的吗。这需求就算是在 stackoverflow 里面也能直接搜出来,都不用自己提问。就算是不行也好歹把哪不行给提出来吧。 |
73 neoblackcap 2021-08-20 01:48:49 +08:00 事实上 Windows 有自带的 Http 请求 API,完全可以什么第三方库都不用,只用 Windows 标准库就可以了。而且 msdn 有很好的文档以及例子。 当然了,微软的 API 好不好用则是另外一回事。 |
![]() | 74 F281M6Dh8DXpD1g2 2021-08-20 02:13:12 +08:00 via iPhone ![]() cpp 还有禁卫军也是少见 |
![]() | 75 snailya 2021-08-20 08:27:58 +08:00 windows 的话,vcpkg,然后想用什么就用什么 |
76 sandman511 2021-08-20 09:00:48 +08:00 ![]() @nannanziyu “请先确认前提,再引申结果,从错误前提引申的结果,只能证明自己无知“ "但是看到一个错误前提,不花时间思考,条件反射地得出结论,不是解决问题的方法" ”如果你工作年限在 2-3 年内:尝试考公吧,换工作还来得及“ 技术上不管对错 你说这些干什么?你太好为人师了 就跟楼主问:"求抖音上好玩的账号” 你回答:“少刷抖音 多学习“ 呕 |
77 sandman511 2021-08-20 09:04:13 +08:00 ![]() @nannanziyu ”我自问从头到尾都是好好说话,诚心帮助人,你句句杠字字刺,何苦呢“ 你觉得自己在好好说话 你在#4 说了别人无知 你在#6 说了别人不会思考 再此之前人家只是说了句 Cpp 门槛高罢了 您真的快 40 了嘛 你同事也太惨了 |
![]() | 78 hatsuyuki 2021-08-20 09:19:55 +08:00 |
![]() | 79 TomVista 2021-08-20 09:26:02 +08:00 ![]() |
80 wbbtcool 2021-08-20 09:38:58 +08:00 ![]() 想起复联四里面灭霸对钢铁侠的一句话,你不是唯一被知识诅咒的人。知识诅咒,一旦知道某样东西,就很难想象不知道它的时候会是什么样子。 |
![]() | 81 simo 2021-08-20 10:02:06 +08:00 本想正经回答,结果重温了小学课本的故事:小马过河 |
82 TSai2019 2021-08-20 10:05:35 +08:00 via Android 微软不是有 WinHTTP 吗 |
![]() | 83 ysc3839 2021-08-20 10:19:02 +08:00 @TSai2019 有是有,但我个人觉得谈不上简洁,前置步骤太多了,发一个简单的请求甚至比 libcurl 需要的代码还多。 |
![]() | 84 nannanziyu 2021-08-20 10:19:15 +08:00 |
![]() | 85 nannanziyu 2021-08-20 10:30:53 +08:00 ![]() @sandman511 > 再此之前人家只是说了句 Cpp 门槛高罢了 No,他说的是“一个 http 请求都很麻烦” 而一个 http 请求非常容易。#37 楼的解决方案:建工程,自带包管理点一下,Copy & Paste 就完成了一个 http 请求 所以这是一个错误的结论 如果你看到一个人信誓旦旦的说 1+1 = 3,你会不会觉得他不会思考 |
86 Stoulla 021-08-20 10:56:06 +08:00 via Android 啊,这个帖子我喜欢,虽然怼的火气有点重,但是都有理有据,甚至还有录屏。感觉回到了当初的互联网。 希望 l 大别把这帖子扔进水深火热了。真心希望论坛有更多这种有理有据互怼帖 |
![]() | 87 hst001 2021-08-20 11:09:25 +08:00 via Android ![]() @nannanziyu 什么叫门槛?入门的人才会遇到门槛,你说的一大堆对老油条来说就几分钟的事情,对新手就是几天,你以为搜索一下,其实新人还要去理解一大堆参数,这个库干什么的,那个库干什么的,然后找 API,很多老油条自然而然的过程,在新手那里就是问题,问题越多对这个新手来说门槛就是越高。一门语言,如果大部分新手入门都会遇到很多问题需要很多时间去熟悉解决,那只能说明这门语言门槛就是高。 |
88 skinny 2021-08-20 11:13:23 +08:00 又蠢又懒就别用这么麻烦的语言呗 |
89 qooweds 2021-08-20 11:17:15 +08:00 虽然每个人的背景不同 但是张口闭口就是菜的是真没礼貌 |
90 wangxn 2021-08-20 11:21:38 +08:00 C++ 的标准库确实太简陋了,基本是数据结构相关的,功能性的库少之又少,文件系统、线程、随机数这些即使有,我觉得也不算易用,基本是完美阐释什么叫过度设计。最典型的是连一点冗余都忍受不了,必须要想方设法地做到最精简。 假如 Google 能完整开源它们自己的内部库,那对业界是件大好事。现在是有一部分被开源出来了: https://abseil.io/ 这个库我是必用的,补充了很多标准库缺失的东西,而且非常易用。 |
![]() | 91 nannanziyu 2021-08-20 11:25:19 +08:00 @qooweds 我哪里张口闭口说菜了 他说“一个 http 请求都很麻烦” 我 #14 拿证据出来,简单搜索几分钟就能得到结果 然后他说,“这不算,还要搜索,只有简单复制粘贴才能算不麻烦” 好的,然后我 #37 #38 给出了只需要复制粘贴的答案 然后他马上转进,原地三百六十五度打滚 然后就这,我一直被杠到 #50 才受不了说了句菜,人脾气再好,也会生气的吧 |
![]() | 92 Dockerfile 2021-08-20 11:25:53 +08:00 看完了,对新手确实有门槛 |
![]() | 93 nannanziyu 2021-08-20 11:29:35 +08:00 @Jwyt 你觉得 #37 楼的方法麻不麻烦呢 |
94 skinny 2021-08-20 11:32:48 +08:00 |
95 x940727 2021-08-20 11:35:12 +08:00 一个 Java Python Go Javascript 都稍微用过的,一直认为 HTTP 调用都是语言自带标准库就支持的,发现新天地了…… |
![]() | 96 Dockerfile 2021-08-20 11:36:51 +08:00 @nannanziyu 。。个人感觉也有点麻烦 你最开始的方法是 google,这个你得考虑墙,当然百度应该也是有的 你第二个 复制粘贴 的方法,我看了下一个是 Manage nuget packager,一个是 cpprestsdk 我都不知道是啥 当然我不是 c++开发,我也没有去尝试过,我的说法很片面 |
![]() | 97 nannanziyu 2021-08-20 11:38:55 +08:00 @Jwyt 你看下#38 的视频…… |
98 OneMan 2021-08-20 11:39:20 +08:00 有人人真是钻进去了出不来,恼火,一看年龄,又能理解了,固化了 |
![]() | 99 nannanziyu 2021-08-20 11:46:02 +08:00 @x940727 语言是工具,每种工具都有适合自己的地 Rust 也没有原生 http 库,C 也没有 语言各有优略,你说的这几门语言除了 golang,我都写过十几年,java 还是我的主吃饭语言 java 裹脚布 python 纸质书翻页需要游标卡尺 go 泛型都没有,1M 的源代码有 500k 的 if err != nil Javascript 弱类型大型项目管理困难,ts 救了无数人的命 如果只说语言优劣,那除了 ts 和 c# 别的都没有意义了? 还是那句话,语言是工具,每种工具都有适合自己的地 |
![]() | 100 nannanziyu 2021-08-20 11:46:56 +08:00 @OneMan 固化的不是你这种刻板印象的人嘛 |