Question: I am trying to rewrite something I have seen done in Java to Go.

In Java, the example converts the int `1573346` to the char `Ǣ` using the type cast of `(char)1573346;`
After printing the int of the new value I get the decimal ascii of `482;`

```
int num = 1573346;
char ascii = (char)num; // Ǣ
int asciiNum = (int)ascii; // 482

```

I can't find a way to do the same thing in Go.

Answer: 
Java's `char` type is 2 bytes or 16 bits. When you do `(char)num` in Java, that will "trim" `num` to 16 bits, keeping the lowest 16 bits.

To do the same in Go, first convert the number to `uint16` for example, and then to `rune` (and optionally to `string` for printing).

Note that in Go you can't convert the constant value `1573346` to `uint16` because the number is not representable by a value of type `uint16`. So you first have to assign it to a variable and convert the value of the variable (which is allowed):

```
x := 1573346
fmt.Println(string(rune(uint16(x))))

```

Which outputs:

```
Ǣ

```

The same as:

```
fmt.Println(string(rune(482)))

```

Try the examples on the [Go Playground](https://play.golang.org/p/dJrPFiI2nN4).
<https://play.golang.org/p/1eVgDANNTUT>

```
package main

import "fmt"

func main() {
    var num = int(1573346)
    var ascii = uint16(num)
    var asciiNum = int(ascii)

    fmt.Printf("%d %c %d", num, ascii, asciiNum)
}

```

```
1573346 Ǣ 482
Program exited.

```