go基础编程 day-2

时间:2023-03-09 05:40:32
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 <变量名称> <变量类型> = [表达式]

go基础编程  day-2

go基础编程  day-2

多个变量 :

全局变量的声明格式:   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)
}

go基础编程  day-2

go基础编程  day-2

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

package  main

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

go基础编程  day-2

变量的类型转换

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

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

类型转换的格式:

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

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

go基础编程  day-2

go基础编程  day-2