go基础编程 day-2
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的更多相关文章
- Winsock基础编程
Winsock基础编程 Socket的英文原义是"孔"或"插座".作为BSD UNIX的进程通信机制,取后一种意思.通常也称作"套接字",用 ...
- 6、50道JAVA基础编程练习题跟答案
50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...
- 老李分享: 并行计算基础&编程模型与工具 1
老李分享: 并行计算基础&编程模型与工具 在当前计算机应用中,对高速并行计算的需求是广泛的,归纳起来,主要有三种类型的应用需求: 计算密集(Computer-Intensive)型应用,如 ...
- 【Socket】Java Socket基础编程
Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要讲解Socket的基础编程.Socket用在哪呢,主要用在进程间,网络间通信.本篇比较长,特别做了个目录: 一.Socket通信基 ...
- go基础编程 day-1
Go语言的特性 开启了学习新的语言路程,记录每天学习的笔记,与大家一起分享. ①.自动垃圾回收 ②.更丰富的内置类型 ③.函数多返回值 ④.错误处理 ⑤.匿名函数和闭包 ⑥.类型和接口 ⑦.并发编程 ...
- 简单的TSQL基础编程格式,存储过程,视图
这里简单整理一下数据库简单的编程,变量定义,赋值,分支语句和循环(这里以Sqlserver),以及存储过程格式 首先是变量定义,赋值,分支语句 --======TSQL数据库基础编程,定义变量,赋值, ...
- Hadoop 综合揭秘——MapReduce 基础编程(介绍 Combine、Partitioner、WritableComparable、WritableComparator 使用方式)
前言 本文主要介绍 MapReduce 的原理及开发,讲解如何利用 Combine.Partitioner.WritableComparator等组件对数据进行排序筛选聚合分组的功能.由于文章是针对开 ...
- 计算概论(A)/基础编程练习(数据成分)/3:整数的个数
#include<stdio.h> int main() { ] = {}; // 输入k个正整数 scanf("%d",&k); // 循环读入和进行算术 w ...
- 计算概论(A)/基础编程练习(数据成分)/2:奥运奖牌计数
#include<stdio.h> int main() { // n天的决赛项目 int n; scanf("%d",&n); ] = {}; while ( ...
- 计算概论(A)/基础编程练习(数据成分)/1:短信计费
#include<stdio.h> int main() { // 输入当月发送短信的总次数n和每次短信的字数words int n,words; scanf("%d" ...
随机推荐
- 201521123045 《JAVA程序设计》第1周学习总结 1
1. 本周学习总结 学习了入门的java知识,知道了jdk.eclipse等基础软件,了解了如何编译最基础的java程序.知道了java的基本原理以及java的几种数据类型.掌握使用简单编译器编写ja ...
- Android SDK Manager 闪退的解决办法
(一)方案一 原理: SDK Manager.exe 通过调用 android-sdk-windows\tools\lib\find_java.bat 确认 java.exe 的路径 启用 cmd ...
- 【轉】JS,Jquery获取各种屏幕的宽度和高度
Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...
- sql语句增删改查与子查询
修改表 修改表 语法: Alter table <旧表名> rename [ TO] <新表名>; 例子:Alter table `demo01` rename `demo02 ...
- 解决linux下部署科大讯飞时的版本过低问题
在将项目部 署到阿里云服务器之后,需要将科大讯飞SDK下的libmsc64.so依赖库文件上传至/usr/java/jdk1.8.0_121/jre/lib/amd64路径下 在Windo ...
- 【转】独立游戏如何对接STEAM SDK
独立开发者在对接STEAM SDK之前 首先得先登上青睐之光,也就是我们俗称的"绿光" 一般要先对接G胖家的SDK,然后提交版本,最后等待审核... 我本身是unity 开发,对C ...
- oracle数据库知识点
1.oracle启动后的服务 1. Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存 ...
- vue实例讲解之vuex的使用
vuex是一个状态管理插件,本文通过一个简单的实例来讲解一下,vuex的使用. 先看一张官方的图: 这个图新手一看估计是蒙的,简单解释一下,这个图表示的就是vue通过Action Mutations ...
- 18.Llinux-触摸屏驱动(详解)
本节的触摸屏驱动也是使用之前的输入子系统 1.先来回忆之前第12节分析的输入子系统 其中输入子系统层次如下图所示, 其中事件处理层的函数都是通过input_register_handler()函数注册 ...
- 统计学习方法——CART, Bagging, Random Forest, Boosting
本文从统计学角度讲解了CART(Classification And Regression Tree), Bagging(bootstrap aggregation), Random Forest B ...