Go自学团队:Day 2:语言常量

phpip · 2018-03-11 16:03:15 · 2613 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-03-11 16:03:15 的主题,其中的信息可能已经有所发展或是发生改变。

参考文档:http://www.runoob.com/go/go-constants.html

package main

import (
    //fmt这样的内部函数库 编辑器会自动加上。不需要我们手动,除非是复制其他的外部代码
    "fmt"
    "unsafe"
)

//定义在外面的常量
const abc string = "aaa"
const (
    a="abc"
    b = len(a)
    c = unsafe.Sizeof(a)
)
func main() {
    //可以重复定义,不会报错
    const abc string = "bbb"
    //编译器可以根据变量的值来推断类型
    const dd = "dd"
    fmt.Println("sfa");
    fmt.Println(abc);
    //多个相同类型的简写
    const cname1,cname2 = "c1","c2"
    //printlen 可以直接使用,输出会在fmt之前输出
    println(a,b,c)


    //神奇的 iota
    const(
        a = iota
        b
        c
        d = "新的值"
        e
        f = 100
        g
        h = iota
        i
    )
    fmt.Println(a,b,c,d,e,f,g,h,i)
    //输出: 0 1 2 新的值 新的值 100 100 7 8


}

继续神奇的 iota

package main

import "fmt"
const (
    i=1<<iota
    j=4<<iota
    k
    l
)

func main() {
    fmt.Println("i=",i)
    fmt.Println("j=",j)
    fmt.Println("k=",k)
    fmt.Println("l=",l)
}

/*
输出结果
i= 1
j= 8
k= 16
l= 32
 */

希望一起进度学习的朋友可以申请加入自学团队:http://163.fm/8Qokjg5e 申请加入后,每周有3天需要提交作业。


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

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

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