diff --git a/Basic-practice-of-FSharp/Basic-practice-of-FSharp.fsproj b/Basic-practice-of-FSharp/Basic-practice-of-FSharp.fsproj index 446d269..042c931 100644 --- a/Basic-practice-of-FSharp/Basic-practice-of-FSharp.fsproj +++ b/Basic-practice-of-FSharp/Basic-practice-of-FSharp.fsproj @@ -7,7 +7,9 @@ - + + + diff --git a/Basic-practice-of-FSharp/HelloWorld.fs b/Basic-practice-of-FSharp/HelloWorld.fs new file mode 100644 index 0000000..1974b43 --- /dev/null +++ b/Basic-practice-of-FSharp/HelloWorld.fs @@ -0,0 +1,14 @@ +module HelloWorld + +// F#中基本部分均为函数,并且使用模块来组织各部分函数 + +// 定义一个名为main的函数 +let main () = + // F#向控制台输出Hello world from F#字符 + printfn "Hello world from F#" + +// 调用该函数 +main () + +// 值得一提,F#的入口函数并不是main函数,并且它是隐式的,您并不需要显式说明 +// 项目中执行文件最后处即为入口点 \ No newline at end of file diff --git a/Basic-practice-of-FSharp/LetBinding.fs b/Basic-practice-of-FSharp/LetBinding.fs new file mode 100644 index 0000000..4d9f495 --- /dev/null +++ b/Basic-practice-of-FSharp/LetBinding.fs @@ -0,0 +1,23 @@ +module LetBinding + +// 在F#中创建变量使用let关键字 +// 作用是将值绑定到名称上 +let a = 1 +// 将值为1的a输出 +printfn "%d" a + +// 变量默认是不可变的 +// 函数式秉持着这样一种观念:人不能两次踏入同一条河流 +// 所以下面的表达式是非法的 +// a = 2 + +// 类型是对现实世界抽象化的表述,它表达了事物的边界 +// 对于F#来说,类型也是至关重要的 +// 上面let a = 1并没有说明类型 +// 但是我们的变量在构建的时候已经确定了类型 +// 这里使用了类型推导技术,变量的类型由右侧的表达式决定 + +// 在F#中拥有一些基本类型 +// 比如1默认是int类型, 1.0默认是float类型,'a'默认是char类型,"abc"是string类型 +// 下面的b将会被编译器推导为float类型 +let b = 3.1415926 \ No newline at end of file diff --git a/Basic-practice-of-FSharp/Program.fs b/Basic-practice-of-FSharp/Program.fs deleted file mode 100644 index a547282..0000000 --- a/Basic-practice-of-FSharp/Program.fs +++ /dev/null @@ -1,4 +0,0 @@ - - -// For more information see https://aka.ms/fsharp-console-apps -printfn "Hello from F#" diff --git a/Basic-practice-of-FSharp/SimpleFunction.fs b/Basic-practice-of-FSharp/SimpleFunction.fs new file mode 100644 index 0000000..239aa63 --- /dev/null +++ b/Basic-practice-of-FSharp/SimpleFunction.fs @@ -0,0 +1,21 @@ +module SimpleFunction + +// F#中的函数与数学概念上的函数类似 +// 此数函彼数,是一个集合与另一个集合的映射 + +// let绑定也可将函数绑定到名称上,以此构建一个函数 +// 当然,F#的函数一个值,与其他值并没有什么不同,所谓第一类函数 + +let a = 1 + +// 下面函数将一个a输入,并且返回a + 1 +let add_one a = a + 1 + +// 我们尝试将该函数的结果打印出来 +printfn "%d" (add_one a) + +// 该函数将输出2(即a + 1) + +// 我们也可以实现多个参数的函数 +let add a b = a + b +let mul a b = a * b \ No newline at end of file diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp b/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp new file mode 100755 index 0000000..6fc5f7d Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.deps.json b/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.deps.json new file mode 100644 index 0000000..6dadeb9 --- /dev/null +++ b/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.deps.json @@ -0,0 +1,82 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v6.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v6.0": { + "Basic-practice-of-FSharp/1.0.0": { + "dependencies": { + "FSharp.Core": "6.0.1" + }, + "runtime": { + "Basic-practice-of-FSharp.dll": {} + } + }, + "FSharp.Core/6.0.1": { + "runtime": { + "lib/netstandard2.1/FSharp.Core.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.121.52202" + } + }, + "resources": { + "lib/netstandard2.1/cs/FSharp.Core.resources.dll": { + "locale": "cs" + }, + "lib/netstandard2.1/de/FSharp.Core.resources.dll": { + "locale": "de" + }, + "lib/netstandard2.1/es/FSharp.Core.resources.dll": { + "locale": "es" + }, + "lib/netstandard2.1/fr/FSharp.Core.resources.dll": { + "locale": "fr" + }, + "lib/netstandard2.1/it/FSharp.Core.resources.dll": { + "locale": "it" + }, + "lib/netstandard2.1/ja/FSharp.Core.resources.dll": { + "locale": "ja" + }, + "lib/netstandard2.1/ko/FSharp.Core.resources.dll": { + "locale": "ko" + }, + "lib/netstandard2.1/pl/FSharp.Core.resources.dll": { + "locale": "pl" + }, + "lib/netstandard2.1/pt-BR/FSharp.Core.resources.dll": { + "locale": "pt-BR" + }, + "lib/netstandard2.1/ru/FSharp.Core.resources.dll": { + "locale": "ru" + }, + "lib/netstandard2.1/tr/FSharp.Core.resources.dll": { + "locale": "tr" + }, + "lib/netstandard2.1/zh-Hans/FSharp.Core.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netstandard2.1/zh-Hant/FSharp.Core.resources.dll": { + "locale": "zh-Hant" + } + } + } + } + }, + "libraries": { + "Basic-practice-of-FSharp/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "FSharp.Core/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VrFAiW8dEEekk+0aqlbvMNZzDvYXmgWZwAt68AUBqaWK8RnoEVUNglj66bZzhs4/U63q0EfXlhcEKnH1sTYLjw==", + "path": "fsharp.core/6.0.1", + "hashPath": "fsharp.core.6.0.1.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.dll new file mode 100644 index 0000000..f6dfa3b Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.pdb b/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.pdb new file mode 100644 index 0000000..31bc41e Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.pdb differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.runtimeconfig.json b/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.runtimeconfig.json new file mode 100644 index 0000000..4986d16 --- /dev/null +++ b/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.runtimeconfig.json @@ -0,0 +1,9 @@ +{ + "runtimeOptions": { + "tfm": "net6.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "6.0.0" + } + } +} \ No newline at end of file diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/FSharp.Core.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/FSharp.Core.dll new file mode 100755 index 0000000..f38b4fd Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/FSharp.Core.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/cs/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/cs/FSharp.Core.resources.dll new file mode 100755 index 0000000..db77a00 Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/cs/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/de/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/de/FSharp.Core.resources.dll new file mode 100755 index 0000000..b3628de Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/de/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/es/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/es/FSharp.Core.resources.dll new file mode 100755 index 0000000..b2d4174 Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/es/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/fr/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/fr/FSharp.Core.resources.dll new file mode 100755 index 0000000..b78a076 Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/fr/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/it/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/it/FSharp.Core.resources.dll new file mode 100755 index 0000000..d7a8b08 Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/it/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/ja/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/ja/FSharp.Core.resources.dll new file mode 100755 index 0000000..8424f57 Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/ja/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/ko/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/ko/FSharp.Core.resources.dll new file mode 100755 index 0000000..5303dc8 Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/ko/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/pl/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/pl/FSharp.Core.resources.dll new file mode 100755 index 0000000..100bb50 Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/pl/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/pt-BR/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/pt-BR/FSharp.Core.resources.dll new file mode 100755 index 0000000..461b6f4 Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/pt-BR/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/ru/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/ru/FSharp.Core.resources.dll new file mode 100755 index 0000000..da9e58f Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/ru/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/tr/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/tr/FSharp.Core.resources.dll new file mode 100755 index 0000000..2bd2fc1 Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/tr/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/zh-Hans/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/zh-Hans/FSharp.Core.resources.dll new file mode 100755 index 0000000..cdb82a3 Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/zh-Hans/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/bin/Debug/net6.0/zh-Hant/FSharp.Core.resources.dll b/Basic-practice-of-FSharp/bin/Debug/net6.0/zh-Hant/FSharp.Core.resources.dll new file mode 100755 index 0000000..56e4282 Binary files /dev/null and b/Basic-practice-of-FSharp/bin/Debug/net6.0/zh-Hant/FSharp.Core.resources.dll differ diff --git a/Basic-practice-of-FSharp/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.fs b/Basic-practice-of-FSharp/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.fs new file mode 100644 index 0000000..57a6239 --- /dev/null +++ b/Basic-practice-of-FSharp/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.fs @@ -0,0 +1,3 @@ +namespace Microsoft.BuildSettings + [] + do () diff --git a/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.AssemblyInfo.fs b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.AssemblyInfo.fs new file mode 100644 index 0000000..744f39b --- /dev/null +++ b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.AssemblyInfo.fs @@ -0,0 +1,17 @@ +// +// Generated by the FSharp WriteCodeFragment class. +// +namespace FSharp + +open System +open System.Reflection + + +[] +[] +[] +[] +[] +[] +[] +do() diff --git a/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.AssemblyInfoInputs.cache b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.AssemblyInfoInputs.cache new file mode 100644 index 0000000..139b454 --- /dev/null +++ b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +6222a14c3308d0fc0d25ec1d195e485c25706689 diff --git a/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.assets.cache b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.assets.cache new file mode 100644 index 0000000..ca20bcf Binary files /dev/null and b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.assets.cache differ diff --git a/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.dll b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.dll new file mode 100644 index 0000000..f6dfa3b Binary files /dev/null and b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.dll differ diff --git a/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.fsproj.AssemblyReference.cache b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.fsproj.AssemblyReference.cache new file mode 100644 index 0000000..6944456 Binary files /dev/null and b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.fsproj.AssemblyReference.cache differ diff --git a/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.fsproj.CopyComplete b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.fsproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.fsproj.FileListAbsolute.txt b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.fsproj.FileListAbsolute.txt new file mode 100644 index 0000000..7fccd36 --- /dev/null +++ b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.fsproj.FileListAbsolute.txt @@ -0,0 +1,26 @@ +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.AssemblyInfoInputs.cache +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.AssemblyInfo.fs +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.fsproj.AssemblyReference.cache +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.deps.json +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.runtimeconfig.json +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/Basic-practice-of-FSharp.pdb +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/FSharp.Core.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/cs/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/de/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/es/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/fr/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/it/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/ja/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/ko/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/pl/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/pt-BR/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/ru/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/tr/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/zh-Hans/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/bin/Debug/net6.0/zh-Hant/FSharp.Core.resources.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.fsproj.CopyComplete +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.dll +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.pdb +/home/sanchime/桌面/Program/F#/Basic-practice-of-FSharp/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.genruntimeconfig.cache diff --git a/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.genruntimeconfig.cache b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.genruntimeconfig.cache new file mode 100644 index 0000000..97dfb36 --- /dev/null +++ b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.genruntimeconfig.cache @@ -0,0 +1 @@ +7cf80e63319ef6c9b32b4cc667a5dad8fccb8d4d diff --git a/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.pdb b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.pdb new file mode 100644 index 0000000..31bc41e Binary files /dev/null and b/Basic-practice-of-FSharp/obj/Debug/net6.0/Basic-practice-of-FSharp.pdb differ diff --git a/Basic-practice-of-FSharp/obj/Debug/net6.0/apphost b/Basic-practice-of-FSharp/obj/Debug/net6.0/apphost new file mode 100755 index 0000000..6fc5f7d Binary files /dev/null and b/Basic-practice-of-FSharp/obj/Debug/net6.0/apphost differ diff --git a/Basic-practice-of-FSharp/obj/fsac.cache b/Basic-practice-of-FSharp/obj/fsac.cache new file mode 100644 index 0000000..a07f7f6 --- /dev/null +++ b/Basic-practice-of-FSharp/obj/fsac.cache @@ -0,0 +1,2 @@ +2022/2/16 下午1:17:11 +{}