go基础编程 day-2

Posted Wyc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go基础编程 day-2相关的知识,希望对你有一定的参考价值。

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

 

以上是关于go基础编程 day-2的主要内容,如果未能解决你的问题,请参考以下文章

golang代码片段(摘抄)

云原生时代崛起的编程语言Go基础实战

Python 基础 - Day 2 Learning Note - Function 函数

Go编程基础-学习

Go语言专题:Go语言基础组成

解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段