入门:基础语法(二)内建变量类型

ace_kylin · 2018-09-24 00:17:45 · 1595 次点击 · 预计阅读时间 1 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2018-09-24 00:17:45 的文章,其中的信息可能已经有所发展或是发生改变。

golang内建类型包括:

bool,string,int,uintptr,byte,rune,float,complex

golang作为一门通用编程语言,把complex作为内建类型是很少见的,我们这里用golang验证以下欧拉公式:

e^(i*PI)+1=0

复数所使用的包是cmplx,下面请看代码:

func euler() {
    fmt.Println(cmplx.Pow(math.E, 1i*math.Pi) + 1)
    fmt.Println()
    fmt.Println(cmplx.Exp(1i*math.Pi) + 1)
}

本人的计算机输出的结果是:

(0+1.2246467991473515e-16i)

为什么不是0?很简单,float无法表示0!如果一定要,使用fmt.printf("%.3f")来进行输出的

golang中类型转换是强制的

math.Sqrt(a float)所需要的参数是一个float类型,我们这里求证以下勾股定理

func triangle() {
    var a, b int = 3, 4
    var c int
    c = int(math.Sqrt(float64(a*a + b*b)))
    fmt.Println(c)
}

其他语言有默认的类型转换,但是golang只有强制类型转换!

值类型和引用类型

1.值类型:基本数据类型int、float、bool、string以及数组和struct。

2.引用类型:指针、slice、map、chan等都是引用类型。


有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1595 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传