1. 程式人生 > >F#語言入門之什麽是F#語言

F#語言入門之什麽是F#語言

new 泛化 stream scl 輕松 records 完整 lis orm

F#是一種函數式編程語言,可以輕松編寫正確且可維護的代碼。

F#編程主要涉及定義類型推斷和自動泛化的類型和函數。 這使您可以將焦點保留在問題域上並操縱其數據,而不是編程的細節。

open System // Gets access to functionality in System namespace.

// Defines a function that takes a name and produces a greeting.
let getGreeting name =
    sprintf "Hello, %s! Isn‘t F# great?" name

[<EntryPoint
>] let main args = // Defines a list of names let names = [ "Don"; "Julia"; "Xi" ] // Prints a greeting for each name! names |> List.map getGreeting |> List.iter (fun greeting -> printfn "%s" greeting) 0

F#有許多功能,包括:

  • 輕量級語法
  • 默認不變
  • 類型推斷和自動泛化
  • 一流的功能
  • 強大的數據類型
  • 模式匹配
  • 異步編程

豐富的數據類型

記錄和識別聯合等數據類型允許您表示復雜的數據和域。
// Group data with Records
type SuccessfulWithdrawal = {
    Amount: decimal
    Balance: decimal
}

type FailedWithdrawal = {
    Amount: decimal
    Balance: decimal
    IsOverdraft: bool
}

// Use discriminated unions to represent data of 1 or more forms
type WithdrawalResult = | Success of SuccessfulWithdrawal | InsufficientFunds of FailedWithdrawal | CardExpired of System.DateTime | UndisclosedFailure

F#記錄和區分聯合在默認情況下是非null,不可變和可比較的,使它們非常容易使用。完整教程閱讀http://nopapp.com/Blog/Article/FSharp-What-Is-FSharp

F#語言入門之什麽是F#語言