4.go 基础类型及类型转换

发布时间:2024年01月22日

概述

go 版本: go1.20.13

basic types

总结

基本类型如下:

bool

string

int  int8  int16  int32  int64
uint uint8 uint16 uint32 uint64 uintptr

byte // alias for uint8

rune // alias for int32
     // represents a Unicode code point

float32 float64

complex64 complex128

int、uint、uintptr类型在 32 位系统上是 32位,在 64 位系统上是64位,当需要一个 int 数值时,应使用 int ,除非有理由需要使用无符号 int 类型。

例子

package main

import (
	"fmt"
	"math/cmplx"
)

var (
	ToBe   bool       = false
	MaxInt uint64     = 1<<64 - 1
	z      complex128 = cmplx.Sqrt(-5 + 12i)
)

func main() {
	fmt.Printf("Type: %T Value: %v\n", ToBe, ToBe)
	fmt.Printf("Type: %T Value: %v\n", MaxInt, MaxInt)
	fmt.Printf("Type: %T Value: %v\n", z, z)
}

结果如下:
在这里插入图片描述

Zero values

总结

在没有显式初始值的情况下声明的变量将被赋予零值。

  • 数字类型值为 0
  • boolean 类型为 false
  • 字符串为 “”

例子

package main

import "fmt"

func main() {
	var i int
	var f float64
	var b bool
	var s string
	fmt.Printf("%v %v %v %q\n", i, f, b, s)
}

结果如下:
在这里插入图片描述

类型转换

总结

语法 T(v)v 转成类型 T

// 标准写法
var i int = 42
var f float64 = float64(i)
var u uint = uint(f)

// 简写
i := 42
f := float64(i)
u := uint(f)

例子

package main

import (
	"fmt"
	"math"
)

func main() {
	var x, y int = 3, 4
	var f float64 = math.Sqrt(float64(x*x + y*y))
	var z uint = uint(f)
	fmt.Println(x, y, z)
}

在这里插入图片描述

结束

go 基础类型 至此结束,如有疑问,欢迎评论区留言。

文章来源:https://blog.csdn.net/2301_79691134/article/details/135665234
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。