先简单了解一下控制台输出,在go中,我们使用fmt包中的函数进行在控制台中打印,一般用以下几个函数

     fmt.Print()        #不换行输出

     fmt.Printf()       #字符串格式化输出 同C语言

     fmt.Println( )     #带换行输出

     fmt.Fprintf()   fmt.Fprint()    fmt.Fprintln()   #指定输出流

 1.Go变量声明和赋值 

     var valName type    // 单个

     var (                        //多个

valName1 type

        valName2 type

       .......

     )

变量声明标准格式

Go语言的变量声明的标准格式为:

       var 变量名 变量类型

变量声明以关键字 var 开头,后置变量类型,行尾无须分号。

package main

import "fmt"

// 声明变量
// var name string
// var iB int // 批量声明
var (
name string //""
age int //0
isFlag bool //false
)
/*
*注意:
*声明了全局变量可以不使用,编译器不会报错(因为别人用这个包可能会使用)
*声明了局部变量必须使用,否则编译器报错
*
*go fmt xxx.go 命令可以格式化代码
*/ //str4 := "cuowu" //出错 func main() {
// 1.赋值
name = "jadeshu"
age = 20
isFlag = true fmt.Print(name)
fmt.Println()
fmt.Println(isFlag)
fmt.Printf("age:%d", age) // 2.变量声明并赋值
var str string = "hehehe"
fmt.Println(str)
// 自动根据数值进行推导类型
var str2 = "hahhahh"
fmt.Println(str2) // 3.简单变量声明并赋值
// 只能在局部变量进行短声明赋值 用的较多
// 不能重复声明,且必须声明时赋值
str3 := "heaaaa" // 这个情况下可以,只要简单赋值语句里有一个变量是新声明的就可以
// 同时还能改变原有变量的值
str3, str4 := "1212", "sdsdsd"
fmt.Println(str3)
fmt.Println(str4)
// 4.匿名变量 用一个下划线表示
// 当忽略某个值时就用它
// 它不会占用内存,也不存在重复声明
// GO语言中函数可以返回多个值,这时候很有用
a, _ := ret() // 忽略返回的y值
fmt.Println(a)
} func ret() (x,y int) {
return 10,-1
}

输出结果:

 2.Go常量和iota

   const   valName=xxx    // 单个

     const   (                        //多个

valName1=xx

        valName2=xxx

       .......

     )

package main

import "fmt"

// 常量在运行期间不允许值改变
// 一个常量声明
const PI = 3.14 // 多个常量一起声明
const (
DIR = 2 * PI
) // t1 t2是100 t3 t4是200
// 同时声明多个常量时,如果省略了值则表示和上面一行的值相同
const (
t1 = 100
t2
t3 = 200
t4
) // iota是go语言的常量计数器
// const中每新增一行常量声明将使iota计数一次
// iota可以理解为const语句块中的行索引,
// 使用iota能简化定义,在定义枚举时很有用
const (
m1 = iota
m2
m3
) // 增强理解iota
const (
n1 = 10
n2
n3 = iota
n4
) // 增强理解iota
// 多个
const (
s1, s2 = iota+1, iota+2
s3, s4 = iota+1, iota+2
) // 练习
// const (
// _ = iota
// KB = 1 << (iota*10)
// MB = 1 << (iota*10)
// GB = 1 << (iota*10)
// TB = 1 << (iota*10)
// PB = 1 << (iota*10)
// ) func main() {
fmt.Println(DIR)
fmt.Println(t1)
fmt.Println(t2)
fmt.Println(t3)
fmt.Println(t4)
fmt.Println("============") fmt.Println(m1)
fmt.Println(m2)
fmt.Println(m3)
fmt.Println("============") fmt.Println(n1)
fmt.Println(n2)
fmt.Println(n3)
fmt.Println(n4)
fmt.Println("============") fmt.Println(s1)
fmt.Println(s2)
fmt.Println(s3)
fmt.Println(s4)
fmt.Println("============")
}

结果:

=======================================

package main

import "fmt"

func main() {
//// 随机数种子
//rand.Seed(time.Now().UnixNano())
//
//scoreMap := make(map[string]int, 200)
//for i := 0; i < 100; i++ {
// key := fmt.Sprintf("student%02d", i)
// scoreMap[key] = rand.Intn(100)
//}
//
//fmt.Println(scoreMap)
//
//// 排序map的key
//// 按字符串排序
//keys := make([]string, 0, 100)
//for key := range scoreMap {
// keys = append(keys, key)
//}
//
//sort.Strings(keys)
//// 打印
//for _, key := range keys {
// fmt.Println(key, scoreMap[key])
//}
//var mapSlice = make([]map[string]string, 3)
//for index, value := range mapSlice {
// fmt.Printf("index:%d value:%v\n", index, value)
//}
//
//fmt.Println("after init")
//// 对切片中的map元素进行初始化
//mapSlice[0] = make(map[string]string, 10)
//mapSlice[0]["name"] = "小王子"
//mapSlice[0]["password"] = "123456"
//mapSlice[0]["address"] = "沙河"
//for index, value := range mapSlice {
// fmt.Printf("index:%d value:%v\n", index, value)
//} // 端口:【address,ip】
info := make(map[int]map[string]string, 3)
info[8080] = make(map[string]string,4)
info[8080]["address"] = "上海"
info[8080]["ip"] = "127.0.0.1"
info[6060] = make(map[string]string,4)
info[6060]["address"] = "北京"
info[6060]["ip"] = "192.168.0.101"
fmt.Println(info) testInfo:= &map[int]map[string]string{
6000:{
"address":"香港",
"ip":"127.0.0.1",
},
7000:{
"address":"武汉",
"ip":"127.0.0.1",
},
} fmt.Println(testInfo) }

(1)Go变量声明、赋值和常量的更多相关文章

  1. javascript:变量声明&&赋值的提升和函数声明&&定义的提升在不同情况下的表现

    console.log(a); //undefined console.log(show); //函数的定义 show();         //aaa123 var a = 1; function ...

  2. [Golang学习笔记] 04 程序实体1 变量声明

    变量声明: Go语言的程序实体包含:变量.常量.函数.结构体和接口,是一门静态类型的编程语言. (在声明变量或常量的时候,需要指定类型,或者给予足够信息是的Go语言能够推导出类型) Go语言变量的类型 ...

  3. es6变量声明和解构赋值

    /*声明: * 本文内容多为学习借鉴性内容,大部分非原创 * 特别感谢阮一峰的 ECMAScript6 入门,推荐大家学习 */ 一.es5变量声明的不足 1.变量提升和函数声明提升 es5的代码加载 ...

  4. ES6必知必会 (一)—— 变量声明和结构赋值

    本文章属于个人对es6一些比较常用的语法的总结归纳,其主要参考阮一峰大神的<a href="http://es6.ruanyifeng.com//">ECMAScrip ...

  5. Java变量声明和赋值

    Java的8种基础类型变量声明,在得到Java 11支持后会有新的语法糖 基础数据类型一共有8种 整数类型:byte.short.int和long 小数类型:float和double 字符类型:cha ...

  6. main方法中声明8种基本数据类型的变量并赋值

    main方法中声明8种基本数据类型的变量并赋值  char→  int→ long→ float→ double byte→ short→ 

  7. [BS-00] const限定常量或者变量(初次赋值后),其值不允许被改变

    CONST(C中的CONST) const是一个C语言(ANSI C)的关键字,它限定一个变量不允许被改变,产生静态作用.使用const在一定程度上可以提高程序的安全性和可靠性.另外,在观看别人代码的 ...

  8. js变量声明与赋值以及函数声明

    if (!("a" in window)) { var a = 1; } alert(a); 结果:undefined 分析: 首先,所有的全局变量都是window的属性,语句 v ...

  9. 第3章 Java语言基础----声明成员变量,对变量进行赋值

    声明成员变量,对变量进行赋值的正确语句,如下图所示:

随机推荐

  1. System.AccessViolationException处理

    程序出现 System.AccessViolationException异常会终止进程,try catch是无法捕捉的. 有个处理方法在引发异常的发放上面加上 [System.Runtime.Exce ...

  2. Python 3 配置文件处理

    首先安装环境 创建配置文件和读取文件 config.ini 内容 [email] mail_server=xxxxx mail_username=xxxx mail_password=xxxxx ma ...

  3. OC 组合实现多继承

    OC无法完全先C++使用多继承,但可以采用组合的模式来代替继承模式.(协议实现)实现多继承的代码:举例现在ClassC需要继承ClassA中methodA.ClassB中methodB,具体的代码为: ...

  4. shell 字符串截取表达式

    ${var#str} 从左向右匹配,非贪婪匹配,截取并保留右边的内容 txt='123456abc123456' echo ${txt#*34} # 56abc123456 ${var##str} 从 ...

  5. js 字节操作

    获取byte的高4位bit和低4位bit function getHeight4(ata){//获取高四位 int height; height = ((data & 0xf0) >&g ...

  6. Programmingbydoing

    http://www.programmingbydoing.com/ 1. Modulus Animation public static void modulusAnimation() throws ...

  7. 根据值获取枚举类对象工具类EnumUtils

    枚举类 public enum Sex { man("M","男"),woman("W","女"); private S ...

  8. MySQL Binlog--事务日志和BINLOG落盘参数对磁盘IO的影响

    参数说明 innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL 磁盘写入策略以及数据安全性的关键参数,不同参数设置对磁盘IO影响不同. 参数i ...

  9. 小米5s plus刷机

    1. 先去这里解锁 .http://www.miui.com/unlock/done.html 2.再去开发者选项里面,将手机账号和解锁手机绑定. 3.使用解锁工具解锁 4.下载安装奇兔刷机 http ...

  10. 虚拟机搭建IKUAI软路由

    1.登录爱快软路由的官网下载镜像(支持ISO ,GHO),这里采用iso安装 2.选择好后开机(选择数字编号1,回车) 3.输入“y”回车,程序自动安装 4.安装成功后如图 5.设置IP 6.绑定网卡 ...