go基础编程 day-2

简介: Go的常亮 关键字: Const Go常亮的多个定义: // 定义常亮的关键字 const // 定义多个常亮 const( PI = 3.14 const1 = "1" const2 = 2 const3 = 3 ) 全局变量...

Go的常亮

关键字: Const

Go常亮的多个定义:

// 定义常亮的关键字 const

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

全局变量的声明与赋值:

var (
    name = "wyc"
    name1 = 1
    name2 = 2
    name3 = 3
)

一般类型声明:

type (
    newType int
    type1 float32
    type2 string
    type3 byte
)

Go的基本类型:

布尔型:
    - 长度 1字节
    - 取值范围: truefalse
    - 注意事项: 不可以使用数字来代表true或false
整型: int/uint
     - 根据运行平台可能为32或64位
8位整型:  int8/uint8
    - 长度: 1字节
    - 取值范围:  -128~127 / 0~255
字节型: byte(uint8别名)
16位整型:   int/uint16
    - 长度: 2字节
    - 取值范围:  -32768~32767 / 0~65535
32位整型:   int32(rune)   int32/uint32
    - 长度: 4字节
    - 取值范围: -2^64/2~2^64/2-1/0~2^64-1
64位整型:
    - 长度 8字节
    - 取值范围: -2^64/2~2^64/2-1/0~2^64-1
浮点型: float32 / float64
    - 长度:  8/8字符
    - 小数位:  精确到7/15小数位
复数类型:  complex64/complex128
    - 长度:  8/16字节
足够保存指针的32位或64位整数型:  uintptr
// 其他值类型:
    - array、 structstring
// 引用类型: 
    - 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 = 11,22,33
    // ccc := 3 // 不可以省略 var
)

多个变量:

// 多个变量声明
var a,b,c,d int

// 多个变量赋值
a,b,c,d = 1,2,3,4


// 多个变量声明的同时赋值
var w,y,c int = 1,2,3

// 省略变量类型,由系统推断类型
var w,y,c = 1,2,3

// 多个变量的声明与赋值的最简的写法
w,y,c := 11,22,33
package main

import (
   "fmt"
)

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

 

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

package  main

import (
    "fmt"
)

func main() {
    w,_,c := 11,22,33
    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)
}

 

相关文章
|
3月前
|
安全 Go 数据处理
Go语言CSP编程实战:通道通信技术
Go语言CSP编程实战:通道通信技术
41 0
|
3月前
|
Go
高效Go语言编程:os包实用技术大揭示
高效Go语言编程:os包实用技术大揭示
40 0
|
5月前
|
算法 测试技术 Go
【Go 编程实践】从零到一:创建、测试并发布自己的 Go 库
解释了为何需要开发自己的 Go 库,以及如何创建、测试和发布。文章以 Asiatz 库为例,详细阐述了创建目录、初始化项目、编写代码、测试、编写文档和发布等步骤,并强调了开发自己的 Go 库的优点,包括代码复用性、可维护性和可测试性。
229 0
【Go 编程实践】从零到一:创建、测试并发布自己的 Go 库
|
6月前
|
Go
Go语言编程的一大杀器!详解defer语句
Go语言编程的一大杀器!详解defer语句
27 0
|
1月前
|
SQL 前端开发 Go
编程笔记 GOLANG基础 001 为什么要学习Go语言
编程笔记 GOLANG基础 001 为什么要学习Go语言
|
1月前
|
Go 开发工具 git
编程笔记 GOLANG基础 003 Go语言开发环境搭建
编程笔记 GOLANG基础 003 Go语言开发环境搭建
|
1月前
|
存储 Java Go
编程笔记 GOLANG基础 002 Go语言简介
编程笔记 GOLANG基础 002 Go语言简介
|
2月前
|
自然语言处理 IDE Go
高效Go编程之格式化+代码注释+命名+分号+控制结构
【2月更文挑战第6天】高效Go编程之格式化+代码注释+命名+分号+控制结构
31 0
|
6月前
|
存储 Go
5分钟编程思维升级:如何巧用Go语言nil?
5分钟编程思维升级:如何巧用Go语言nil?
40 0
|
3月前
|
Go 索引
Go系统编程不求人:os包全面解析
Go系统编程不求人:os包全面解析
70 0