Go的常亮

关键字: Const

Go常亮的多个定义:

// 定义常亮的关键字 const

// 定义多个常亮
const(
PI = 3.14
const1 = ""
const2 =
const3 =
)

全局变量的声明与赋值:

var (
name = "wyc"
name1 =
name2 =
name3 =
)

一般类型声明:

type (
newType int
type1 float32
type2 string
type3 byte
)

Go的基本类型:

布尔型:
- 长度 1字节
- 取值范围: true、false
- 注意事项: 不可以使用数字来代表true或false
整型: int/uint
- 根据运行平台可能为32或64位
8位整型:  int8/uint8
- 长度: 1字节
- 取值范围: -~ / ~
字节型: byte(uint8别名)
16位整型:   int/uint16
- 长度: 2字节
- 取值范围: -~ / ~
32位整型:   int32(rune)   int32/uint32
- 长度: 4字节
- 取值范围: -^/~^/-/~^-
64位整型:
- 长度 8字节
- 取值范围: -^/~^/-/~^-
浮点型: float32 / float64
- 长度: /8字符
- 小数位: 精确到7/15小数位
复数类型:  complex64/complex128
- 长度: /16字节
足够保存指针的32位或64位整数型:  uintptr
// 其他值类型:
- array、 struct、string
// 引用类型:
- slice、map、chan // 接口函数 : inteface // 函数接口 : func

类型零值:

  零值并不等于空值,而是当变量声明为某种来兴后的默认零值,通常情况下默认值为0,bool为false,string为空字符串。

类型别名:

type(
byte int8
rune int32
文本 string
)

别名:

var a 文本
b = "你好中国"

零值:

package main

import (
"fmt"
) func main() {
var a int
fmt.Println(a)
} // 结果: 0

math包

math包可以检查类型是否超出范围

math.Min   记录了一个最小值和一个最大值

int型的最小值:

math.MinInt8      int类型的最小值就会打印出来,    -128

类型声明

package main

import (
"fmt"
) // 类型的定义
type (
byte int8
rune int32
文本 string
) func main() {
var a 文本
a = "你好中国"
fmt.Println(a)
} // 在实际应用中最好还是不要使用中文,它有可能会引起一些不必要的错误。

单个变量的声明与赋值 and 多个变量的声明与赋值

单个变量:

  单个变量的声明格式:    var <变量名称> <变量类型>

变量的赋值的格式    :  <变量名称> = <表达式>

变量声明的同时赋值  :   var <变量名称> <变量类型> = [表达式]

多个变量 :

全局变量的声明格式:   var <变量名称> <变量类型>

全局变量的声明不可以省略 var, 但可使用并行方式

所有变量都可以使用类型推断

局部变量不可以使用 var() 的方式简写,只能使用并行方式

var (
// 常规方式
aaa = "hello"
// 使用并行方式以及类型推断
w,y,c = ,,
// ccc := 3 // 不可以省略 var
)

多个变量:

// 多个变量声明
var a,b,c,d int // 多个变量赋值
a,b,c,d = ,,, // 多个变量声明的同时赋值
var w,y,c int = ,, // 省略变量类型,由系统推断类型
var w,y,c = ,, // 多个变量的声明与赋值的最简的写法
w,y,c := ,,
package main

import (
"fmt"
) func main() {
// var w,y,c int
// w,y,c = 1,2,3
w,y,c := ,,
fmt.Println(w,y,c)
}

// 下划线可以表示不需要的元素

package  main

import (
"fmt"
) func main() {
w,_,c := ,,
fmt.Println(w,c)
}

变量的类型转换

Go中不存在隐式转换,所有类型转换必须显示声明。

转换只能发生两种相互兼容的类型之间

类型转换的格式:

<Value>[:] = <TypeOfValueA> (<ValueB>)
package main

import (
"fmt"
) func main() {
var a float32 = 1.1
b := int(a)
fmt.Println(b)
}

go基础编程 day-2的更多相关文章

  1. Winsock基础编程

    Winsock基础编程 Socket的英文原义是"孔"或"插座".作为BSD UNIX的进程通信机制,取后一种意思.通常也称作"套接字",用 ...

  2. 6、50道JAVA基础编程练习题跟答案

    50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...

  3. 老李分享: 并行计算基础&编程模型与工具 1

    老李分享: 并行计算基础&编程模型与工具   在当前计算机应用中,对高速并行计算的需求是广泛的,归纳起来,主要有三种类型的应用需求: 计算密集(Computer-Intensive)型应用,如 ...

  4. 【Socket】Java Socket基础编程

    Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要讲解Socket的基础编程.Socket用在哪呢,主要用在进程间,网络间通信.本篇比较长,特别做了个目录: 一.Socket通信基 ...

  5. go基础编程 day-1

    Go语言的特性 开启了学习新的语言路程,记录每天学习的笔记,与大家一起分享. ①.自动垃圾回收 ②.更丰富的内置类型 ③.函数多返回值 ④.错误处理 ⑤.匿名函数和闭包 ⑥.类型和接口 ⑦.并发编程 ...

  6. 简单的TSQL基础编程格式,存储过程,视图

    这里简单整理一下数据库简单的编程,变量定义,赋值,分支语句和循环(这里以Sqlserver),以及存储过程格式 首先是变量定义,赋值,分支语句 --======TSQL数据库基础编程,定义变量,赋值, ...

  7. Hadoop 综合揭秘——MapReduce 基础编程(介绍 Combine、Partitioner、WritableComparable、WritableComparator 使用方式)

    前言 本文主要介绍 MapReduce 的原理及开发,讲解如何利用 Combine.Partitioner.WritableComparator等组件对数据进行排序筛选聚合分组的功能.由于文章是针对开 ...

  8. 计算概论(A)/基础编程练习(数据成分)/3:整数的个数

    #include<stdio.h> int main() { ] = {}; // 输入k个正整数 scanf("%d",&k); // 循环读入和进行算术 w ...

  9. 计算概论(A)/基础编程练习(数据成分)/2:奥运奖牌计数

    #include<stdio.h> int main() { // n天的决赛项目 int n; scanf("%d",&n); ] = {}; while ( ...

  10. 计算概论(A)/基础编程练习(数据成分)/1:短信计费

    #include<stdio.h> int main() { // 输入当月发送短信的总次数n和每次短信的字数words int n,words; scanf("%d" ...

随机推荐

  1. 201521123049 《JAVA程序设计》 第2周学习总结

    *1. 本周学习总结 1.复习了一遍基本类型:整数类型(byte,short,int,long,char).浮点类型(float,double).boolean类型(true, false). 2.了 ...

  2. 201521123111《Java程序设计》第12周学习总结

    本次作业参考文件 正则表达式参考资料 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String ...

  3. self、parent和$this关键字

    self.parent和$this关键字的区别: self关键字用来指定当前的类,而且该关键字通常用来访问类的静态成员.方法和常量.parent关键字用于指向父类,所以使用该关键字调用父类的属性和方法 ...

  4. latch session allocation

    应用反馈上午10点左右出现大量应用连接数据库报错 采集9点-10点和10点-11点的AWR报告进行分析 DB时间明显差异,再继续分析等待事件 可以看出有session相关的Latch等待事件,查看相关 ...

  5. mysql不能插入中文数据

    上次遇到的是向mysql插入中文数据,中文数据乱码了.这次直接就不能插入中文数据了!!!! 参考博文:http://blog.csdn.net/generalyy0/article/details/7 ...

  6. Spring Security研究(2)-高级web特性

    1, 添加 HTTP/HTTPS 信道安全 <http> <intercept-url pattern="/secure/**" access="ROL ...

  7. TileMap Editer 编辑器工具介绍

    打开Tiled 新建地图... 新建地图面板包括三部分,分别是地图.地图大小和块大小.地图包括方向.土块层格式和渲染顺序,根据场景不同选择不同地图方向,土块层格式和渲染顺序默认即可:图块大小和块大小决 ...

  8. UDP接收百万级数据的解决方案

    小序 到新公司不久,就接到一个任务:有个发送方,会通过udp发送一些信息,然后服务接收到信息后保存到数据库的一张表A,保存的这些数据在经过一系列处理,处理完成后累积到另一张表B,然后清空处理的表A的数 ...

  9. java程序员该工作还是游戏?

    前阵子我终于下定决心,删掉了硬盘里所有的游戏. 身为一个程序猿,每天都要和各种新技术打交道,闲暇时间,总还得看一下各大论坛,逛逛博客园啥的,给自己充充电.游戏的话,其实我自小就比较喜欢,可以算是一种兴 ...

  10. 新版本mac 无法打开第三方应用

    新版本mac 没有任何应用可以打开的这个选项 现在解决方法已经找到 特此标记一下 1打开终端 2 输入 sudo spctl --master-disable 3.打开系统设置的中的安全即可出现