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)
}

 

相关文章
|
4月前
|
安全 Go 数据处理
Go语言CSP编程实战:通道通信技术
Go语言CSP编程实战:通道通信技术
77 0
|
4月前
|
SQL 前端开发 Go
编程笔记 GOLANG基础 001 为什么要学习Go语言
编程笔记 GOLANG基础 001 为什么要学习Go语言
|
14天前
|
Kubernetes Go Docker
在K8s编程中如何使用Go
一文带你了解在K8s编程中如何使用Go
34 3
|
1月前
|
数据库连接 Go API
Golang中的25个常见错误:更好地进行go编程的综合指南
Golang中的25个常见错误:更好地进行go编程的综合指南
|
20天前
|
Java 数据库连接 数据库
携手前行:在Java世界中深入挖掘Hibernate与JPA的协同效应
【8月更文挑战第31天】Java持久化API(JPA)是一种Java规范,为数据库数据持久化提供对象关系映射(ORM)方法。JPA定义了实体类与数据库表的映射及数据查询和事务控制方式,确保不同实现间的兼容性。Hibernate是JPA规范的一种实现,提供了二级缓存、延迟加载等丰富特性,提升应用性能和可维护性。通过结合JPA和Hibernate,开发者能编写符合规范且具有高度可移植性的代码,并利用Hibernate的额外功能优化数据持久化操作。
32 0
|
23天前
|
安全 Java 测试技术
Go 高性能编程心法探秘
文章深入探讨了Go语言在高性能编程中的各种技巧,包括常用数据结构的使用、内存管理、并发编程策略,以及如何通过减少锁的使用、有效利用sync包中的工具来优化程序性能。
13 0
|
23天前
|
Go C语言
Go语言:新时代的编程英雄,让你的代码驾驭未来!
【8月更文挑战第29天】Go,或称Golang,是由谷歌开发的一种静态强类型的编译语言,旨在融合C语言的高效性和高级语言的易用性。它简洁、优雅,广泛应用于高性能服务器和网络应用开发。本文将通过环境搭建、Hello World示例、变量、常量、控制结构、函数、结构体、接口及错误处理等示例,带你快速入门Go语言,领略其简洁高效的魅力,激发你的编程热情。
31 0
|
1月前
|
网络协议 Go
【go笔记】TCP编程
【go笔记】TCP编程
|
1月前
|
存储 Go
带你入门 Go 语言中的泛型编程
带你入门 Go 语言中的泛型编程
38 0
|
4月前
|
SQL 关系型数据库 MySQL
Golang数据库编程详解 | 深入浅出Go语言原生数据库编程
Golang数据库编程详解 | 深入浅出Go语言原生数据库编程