Go 第一部分:变量、常量和枚举类型

彼得堡的遗书 · · 2597 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Go 入门第一篇,我会提炼出经常使用的基础点,对于刚开始入门 Go ,基础还不扎实的童鞋可以参考此文快速查阅 Go 的基础用法。

系列整理:

如果对 Go 语言本身感兴趣,可以阅读我的这篇译文 Go语言的优点,缺点和令人厌恶的设计

变量定义

// 默认为零值
var a string
var b int
var a, b string 

// 声明变量值
var e string = "abc"
// 变量属于同一类型,可只写一次类型
var c, d int = 3, 4

// 推论类型
var f, g, h, i = 3, 4, true, "def"

f, g, h, i := 3, 4, true, "def"

// 括号写法
var (
    aa = 3
    ss = "kkk"
    bb = true
)

内建变量类型

  • bool, string
  • (u)int, (u)int8, (u)int16, (u)int32, (u)int64, uintptr
  • byte, rune
  • float32, float64, complex64, complex128

complex 是复数类型

// 不用1i,程序会将 i 识别为变量
fmt.Printf("%.3f\n", cmplx.Exp(1i*math.Pi) + 1)

强制类型转换

var a, b int = 3, 4

// math.Sqrt 参数和返回值都是  float64
c := int(math.Sqrt(float64(a *a + b * b)))

常量的定义

const a, b = 3, 4

const (
    filename = "abc.txt"
    a, b = 3, 4
)
// const 数值可以作为任意的类型使用,所以此处 a, b变量不需要手动转换为 float64
c := int(mant.Sqrt(a*a + b*b))

自增枚举类型

const (
    javascript = iota
    c
    python
    _
    php
)

const (
    b = 1 << (10 * iota)
    kb
    mb
    gb
    tb
    pb
)

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

本文来自:Segmentfault

感谢作者:彼得堡的遗书

查看原文:Go 第一部分:变量、常量和枚举类型

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

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