# Go

## Supported versions <a href="#supported-versions" id="supported-versions"></a>

The level of support for a language is defined as follows:

* Fully supported: Analysis will complete. All the language features are understood and examined.
* Supported: Most language features are understood and examined but the version includes unsupported features. Analysis might break or provide incomplete results.

Versions 1.0 to 1.25 are supported.

## Prerequisites <a href="#prerequisites" id="prerequisites"></a>

* SonarScanner should run on a x86-64 Windows, macOS or Linux 64bits machine.
* You need the [Go](https://golang.org/) installation on the scan machine only if you want to import coverage data.

## Language-specific properties <a href="#language-specific-properties" id="language-specific-properties"></a>

To discover and update the Go-specific properties, navigate in SonarQube Cloud to *Your Project* > **Administration** > **General Settings** > **Languages** > **Go**. See the [analysis-parameters](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/analysis-parameters "mention") page for more information about specific properties.

By default, all the `vendor` directories are excluded from the analysis. However, you can change the property `sonar.go.exclusions` to a different pattern if you want to force their analysis (not recommended).

If you modify the `sonar.go.exclusions` or the `sonar.sources` property, be sure that `go.mod` files are included in your scan. If the `go.mod` files are excluded, the analysis results are less precise.

## sonar-project.properties Sample <a href="#sonarprojectproperties-sample" id="sonarprojectproperties-sample"></a>

Here is a first version of a `sonar-project.properties` file, valid for a simple `Go` project:

```properties
sonar.projectKey=com.company.projectkey1
sonar.projectName=My Project Name

sonar.tests=.
sonar.test.inclusions=**/*_test.go
```

## Related pages <a href="#related-pages" id="related-pages"></a>

* [test-coverage](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/test-coverage "mention")
* [external-analyzer-reports](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/importing-external-issues/external-analyzer-reports "mention")(GoVet, GoLint, GoMetaLinter)
