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

本文介绍了Go语言1.20.13版本中的基本类型(如bool,string,int,uint等),展示了零值的处理、未显式赋值变量的初始化以及类型转换的用法,通过示例详细说明了这些概念。
摘要由CSDN通过智能技术生成

概述

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 基础类型 至此结束,如有疑问,欢迎评论区留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流月up

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值