Develop Functions with .NET Core Runtime 3.1
Last October 2019 Microsoft released Azure Functions 3.0, which allows you to build and publish Functions on top of the .NET Core 3.1 runtime. Moreover, you can author Azure Functions in Visual Studio 2019 or Code after installing the .NET Core 3.1 SDK.
When building Functions using .NET Core 3.1 in Visual Studio 2019, you will need version 16.4 or higher. Once, you have the correct Visual Studio 2019 version you can start a new project, choose the Azure Functions Template, and probably see an indicator at the bottom as it downloads the runtime and templates of "Making sure all templates are up to date.". Wait for the updates to finish (which can take a while) and subsequently go back one screen and forward so template options are refreshed.
Select the "Azure Functions v3" option from the Template drop-down, create your project by choosing the template of choice and target 3.1 by editing the project properties and select .NET Core 3.1.
Now you can build your function and try it out locally first before deploying it to Azure.
Note in case you want to build Azure Function with other tools than Visual Studio 2019, Visual Code or the CLI you will need to download and install the 3.x tools.