1. 变量声明与赋值

// var.go

package main

import "fmt"

var a string
var b bool
var c string = "Delav"
var d =
var e = "Golang"
var f, g int = ,
var h, i = , "Hello" func main() {
j := "Python"
fmt.Println(a)
fmt.Println(b,c)
fmt.Println(d,e)
fmt.Println(f,g)
fmt.Println(h,i)
fmt.Println(j)
}

输出如下:


false Delav
2333 Golang
1 2
123 Hello
Python

注意:

1).   字符串的赋值不能使用单引号;

2).   j := "Python"  这种声明格式的只能在函数体中出现

2. 常量

常量是一个简单值的标识符,在程序运行时,不会被修改的量。

常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型

// const.go

package main

import "fmt"

const a int =
const b string = "delav"
const c bool = true
const d, e, f = , true, "str"
func main() {
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d, e, f)
}

输出如下:

delav
true
true str

2.1. 常量操作

常量可以用len(), cap(), unsafe.Sizeof()函数计算表达式的值。常量表达式中,函数必须是内置函数,否则编译不过

package main

import "fmt"
import "unsafe" const (
a = "delav"
b = len(a)
c = unsafe.Sizeof(a)
) func main(){
fmt.Println(a, b, c)
}

输出如下:

delav  

2.2.  特殊常量 iota

iota,可以认为是一个可以被编译器修改的常量。iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。

package main

import "fmt"

func main() {
const (
a = iota //
b //
c //
d = "delav" //独立值,iota += 1
e //"delav" iota += 1
f = //iota +=1
g //100 iota +=1
h = iota //7,恢复计数
i //
)
fmt.Println(a,b,c,d,e,f,g,h,i)
}

输出如下:

0 1 2 delav delav 100 100 7 8

最新文章

  1. 面向组合子设计Coder
  2. cordova开发问题汇总
  3. 准确理解SO_REUSEADDR
  4. 04-Vue入门系列之Vue事件处理
  5. JPEG最优压缩参数试验【光影魔术手VS Image Optimizer】
  6. ps 命令使用总结
  7. 【HDOJ】4932 Miaomiao's Geometry
  8. Poj 3771 hdu 3405
  9. HADOOP之MAPREDUCE程序应用二
  10. IIS 5.x/6.0/7.0 和 ASP.NET
  11. Linux性能及调优指南(翻译)之Linux进程管理
  12. iOS UICollectionView(转三)
  13. 自定义圆形ImageView(解决Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();报错问题)
  14. JS将日期转为距现在的时间长度
  15. 2017.07.11【NOIP提高组】模拟赛B组
  16. Vue(十六)vue-router路由
  17. Django 学习第一天——django 基本介绍和环境搭建
  18. Windows8下安装ubuntu
  19. 20170803 Airflow自带的API进行GET 和POST动作部分内容
  20. HeadFIrst Ruby 第六章总结 block return values

热门文章

  1. hadoop2.0(chd4) 通过API获取job信息
  2. 转:后台管理UI的选择
  3. 我们一起学习WCF 第七篇会话模式
  4. Bug 级别定义标准
  5. Linux内核学习笔记(6)-- 进程优先级详解(prio、static_prio、normal_prio、rt_priority)
  6. java之接口开发-初级篇-webservice协议
  7. Paper Reading - Convolutional Sequence to Sequence Learning ( CoRR 2017 ) ★
  8. leetcode个人题解——#39 Combination Sum
  9. 如何选择合适的Qt5版本?
  10. AutoCAD2015激活码和密钥