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字节
    - 取值范围: true、false
    - 注意事项: 不可以使用数字来代表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、 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 = 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)
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Kevin-ZhangCG

[ Java学习基础 ] Java的继承与多态

2966
来自专栏Kevin-ZhangCG

[ Java学习基础 ] Java的抽象类与接口

2266
来自专栏从流域到海域

Python set(集合) 这一定是最全的介绍集合的博文

Python的set是一个无序且无重复元素的集合,概念上相当于数学上的无序集,数据结构上相当于dict的键。 既然set是集合,则必然可以实现并、交、...

2215
来自专栏黑泽君的专栏

java基础学习_基础语法(上)03_day04总结

============================================================================= ==...

931
来自专栏行者常至

001.python科学计算库numpy(上)

版权声明:本文为博主原创文章,允许转载,请标明出处。 https://blog.csdn.net/qwdafedv/article/deta...

952
来自专栏柠檬先生

常用正则表达式

一, 1.^\d+$    //匹配非负整数(正整数 + 0) ---^:以数字开头 +:之前紧邻出现的一次或多次 2.[0-9]*[1-9][0-9]*$...

52310
来自专栏Golang语言社区

Go语言interface详解

interface Go语言里面设计最精妙的应该算interface,它让面向对象,内容组织实现非常的方便,当你看完这一章,你就会被interface的巧妙设计...

3707
来自专栏代码世界

Python 中格式化字符串 % 和 format 两种方法之间的区别

  Python2.6引入了 format 格式化字符串的方法,现在格式化字符串有两种方法,就是 % 和 format ,具体这两种方法有什么区别呢?请看以下解...

4688
来自专栏无所事事者爱嘲笑

正则表达式零宽断言详解(?=,?<=,?!,?<!)

2475
来自专栏Script Boy (CN-SIMO)

Qt Quick编程(1)——QML的核心部分ECMAScript

说道QML,不得不先说一下ECMAScript: ECMAScript语言的标准是由Netscape、Sun、微软、Borland等公司基于JavaScript...

4410

扫码关注云+社区

领取腾讯云代金券