# Convert a String to an Integer in Go with strconv

> Use strconv.Atoi for base-10 conversion or strconv.ParseInt for full control over base and bit size when converting strings to integers in Go

**URL:** https://sentry.io/answers/converting-a-string-to-an-integer-in-go/

---

## The Problem

You don't know how to convert a string to an integer in Go.

## The Solution

The simplest way to convert a string to an integer is to use the [`Atoi`](https://pkg.go.dev/strconv#Atoi) function from the [`strconv`](https://pkg.go.dev/strconv) package.

For example, you can convert the string `"123"` to the value `123` as follows:

```go
package main

import (
	"fmt"
	"log"
	"strconv"
)

func main() {
	example := "123"
	integer, err := strconv.Atoi(example)
	if err != nil {
		log.Fatal("failed to convert string to integer", err)
	}

	fmt.Println(integer + 1)
}
```

This prints the sum of the integer plus one:

```
124
```

For performance reasons (and convenience), the above example assumes that your integer is a base-10 signed integer.

If you need more control, you can use the [`ParseInt`](https://pkg.go.dev/strconv#ParseInt) function from the same package:

```go
package main

import (
	"fmt"
	"log"
	"strconv"
)

func main() {
	hexadecimal := "7b"
	integer, err := strconv.ParseInt(hexadecimal, 16, 32)
	if err != nil {
		log.Fatal("failed to convert string to integer", err)
	}

	fmt.Println(integer + 1)
}
```

This prints the sum of the integer plus one:

```
124
```

**Note:** Although the above example uses base `16` and bit size `32`, `ParseInt` still returns a 64-bit integer.

### Converting Strings to Other Numerical Types

If you want to convert a string to another numerical type, you can use the [`ParseFloat`](https://pkg.go.dev/strconv#ParseFloat), [`ParseUint`](https://pkg.go.dev/strconv#ParseUint), or [`ParseComplex`](https://pkg.go.dev/strconv#ParseComplex) functions, also from the `strconv` package.

---

*Source: [sentry.io/answers/converting-a-string-to-an-integer-in-go/](https://sentry.io/answers/converting-a-string-to-an-integer-in-go/)*
