.NET CLI 中的 F# 入门
本文介绍如何在任何操作系统 (Windows、macOS 或 Linux) 与 .net CLI 一起开始处理 F#。 其中介绍了如何使用控制台应用程序调用的类库生成多项目解决方案。
先决条件
一开始,必须安装最新的 .NET SDK。
本文假设你知道如何使用命令行并具有首选文本编辑器。 如果尚未使用它,Visual Studio Code 作为 F# 的文本编辑器是不错的选择。
生产简单的多项目解决方案
打开命令提示符/终端,并使用 dotnet new 命令创建名为 FSharpSample
的新解决方案文件:
dotnet new sln -o FSharpSample
运行上述命令后,将生成以下目录结构:
FSharpSample
├── FSharpSample.sln
编写类库
将目录更改为 FSharpSample。
使用 dotnet new
命令,在名为 Library 的“src”文件夹中创建一个类库项目。
dotnet new classlib -lang "F#" -o src/Library
运行上述命令后,将生成以下目录结构:
└── FSharpSample
├── FSharpSample.sln
└── src
└── Library
├── Library.fs
└── Library.fsproj
将 Library.fs
的内容替换为以下代码:
module Library
open System.Text.Json
let getJson value =
let json = JsonSerializer.Serialize(value)
value, json
使用 dotnet sln add 命令将 Library
项目添加到 FSharpSample
解决方案:
dotnet sln add src/Library/Library.fsproj
运行 dotnet build
以生成项目。 生成时将还原未解析的依赖项。
编写使用类库的控制台应用程序
使用 dotnet new
命令,在名为 App 的“src”文件夹中创建一个控制台应用程序。
dotnet new console -lang "F#" -o src/App
运行上述命令后,将生成以下目录结构:
└── FSharpSample
├── FSharpSample.sln
└── src
├── App
│ ├── App.fsproj
│ ├── Program.fs
└── Library
├── Library.fs
└── Library.fsproj
将 Program.fs
文件的内容替换为以下代码:
open System
open Library
[<EntryPoint>]
let main args =
printfn "Nice command-line arguments! Here's what System.Text.Json has to say about them:"
let value, json = getJson {| args=args; year=System.DateTime.Now.Year |}
printfn $"Input: %0A{value}"
printfn $"Output: %s{json}"
0 // return an integer exit code
使用 dotnet add reference 添加对 Library
项目的引用。
dotnet add src/App/App.fsproj reference src/Library/Library.fsproj
使用 dotnet sln add
命令将 App
项目添加到 FSharpSample
解决方案:
dotnet sln add src/App/App.fsproj
使用 dotnet restore
还原 NuGet 依赖项,并运行 dotnet build
以构建项目。
将目录更改为 src/App
控制台项目并运行将 Hello World
作为实际参数传递的项目:
cd src/App
dotnet run Hello World
应该看到以下结果:
Nice command-line arguments! Here's what System.Text.Json has to say about them:
Input: { args = [|"Hello"; "World"|] year = 2021 }
Output: {"args":["Hello","World"],"year":2021}
后续步骤
接下来,请查看 F# 教程 ,了解有关不同 F # 功能的详细信息。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈