Go语言入门(二)---内建变量类型


Go语言类型

  • bool,string(布尔,字符串)
  • (u)int,(u)int8,(u)int16,(u)int32,(u)int64,uintptr 加u有符号整数 不加u无符号整数 如果不规定长度 int 还是 int8 还是int32 默认按照操作系统位数 来决定 64位系统就是int64 = 264 以此类推。 uintptr是指针 长度根据操作系统来定。
  • byte,rune byte字节 8位,rune是4个字节相当于java里的char 但是char是一个字节考虑到国际化原因rune竟可能能放下各种编码 32位 Unicode是2个字节 16位 utf-8是三个字节 24位。
  • float32,float64,complex64,complex128 浮点数32位和64位,复数 complex64 实部和虚部 分别是 32位 (var a complex64=3 +4i) 128位以此类推。


func euler(){
	c:=3 + 4i
	println(cmplx.Abs(c) )
}

在Go里面 对 复数取模 是多少?

你猜对了吗 就是5.
下面再来看看欧拉公式eiπ+1=0 来用Go验证下吧

oulaformula := cmplx.Exp( 1i*math.Pi) + 1


看看在python中怎么计算吧

python中使用cmath来实现。 但在python 虚部变量不是i 原来是python为了怕搞错i在循环中常用来计数 所以用了j防止弄错。
可以看到 不管是go 和 python在浮点运算时在精度方面是有误差的 其实所有语言 在浮点运算时都是不准的,但误差是很小的。

	fmt.Printf("%.3f",i ) //保留3位 

强制类型转换

  • 类型转换是强制的

    类型转换是强制的 如果是 int = float64 这样的情况 其他语言可能会隐式转换类型 但是go不行 必须是 int = int(float64)
优质内容筛选与推荐>>
1、Maven 学习(一)
2、算法与数据结构(二):链表
3、第二次作业:软件分析之Steam的前世今生
4、数字特征:数学期望(均值)
5、SharePoint 2010新体验9 - 内容管理器(Content Organizer)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号