当前位置: 首页 > wzjs >正文

企业做网站哪家便宜长沙seo排名扣费

企业做网站哪家便宜,长沙seo排名扣费,亚洲b2b网站,江苏又一地检测出阳性前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言的特点 Go语言由Google团队设计,以简洁、高效、并发友好为核心目标。 具有以下优点: 语法简单、学习曲线平缓:语法关键字很少,且…

前言

        本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。


Go语言的特点

          Go语言由Google团队设计,以简洁、高效、并发友好为核心目标。

          具有以下优点:

  1. 语法简单、学习曲线平缓:语法关键字很少,且容易记忆。

  2. 丰富的标准库:大多数情况下不需要外部引入第三方库,直接使用内置标准库即可。

  3. 完善的工具链:包管理、代码格式化、测试、性能分析、文档生成、依赖管理等等,应有尽有。

  4. 静态链接:部署简单,跨平台性强,安全稳定。

  5. 高性能、高并发:接近c的性能,低内存开销。

        下文将介绍Go语言的基本语法,个人感觉更是Go语言现代化(甚至有点超现代化)的体现。


数据类型

        Go语言常用的数据类型:

类型分类

类型名称

关键字/定义

默认值(零值)

特点

布尔型

bool

bool

false

只能为 truefalse

整数型

有符号整数

int, int8, int16, int32, int64

0

根据平台不同,int 可能为 32 或 64 位

无符号整数

uint, uint8, uint16, uint32, uint64

0

无负数范围

浮点型

float32, float64

float32, float64

0.0

float64 精度更高

字符/字节型

byte(别名)

byte

0

uint8 的别名

rune(别名)

rune

0

int32 的别名

字符串型

string

string

""

不可变,UTF-8 编码

错误类型

error

error

nil

内置接口类型,表示错误状态


一、变量定义

        Go语言的变量定义方式有很多种:

1. var name type :用于显式定义变量。

var a, b int = 1, 2

2. name := val :用于隐式定义变量。

f := float32(e)

3. const name type = val : 用于常量定义

const s string = "constant"

二、选择结构

        选择结构分为 if ,switch-case。

1. if

if a == 1 {fmt.Println("真的")
}else {fmt.Println("假的")
}

2. switch-case

a := 2
switch a {
case 1:fmt.Println(1)
case 2:fmt.Println(2)
default:fmt.Println("default")
}

    三、循环结构

            Go语言形式上只有for循环一种循环方式,但是可以改为类似于while的形式循环。

    for i := 1; i < 9; i++ {fmt.Print(i)
    }
    k := 1
    for k < 10 {k++fmt.Println(k)
    }

    四、数组

            Go语言的数组和C很类似,定长数组。

    for i := 1; i < 9; i++ {fmt.Print(i)
    }
    k := 1
    for k < 10 {k++fmt.Println(k)
    }

    五、切片

            Go语言的切片类似于C++的vector、Java中的List,是一种变长数组。

            并且支持类似Python中元组的操作语法。

    s := make([]string, 3)
    s[0] = "a"
    s[1] = "b"
    s[2] = "c"
    fmt.Println(s[2])
    fmt.Println(len(s))
    s = append(s, "d")
    s = append(s, "e", "f")
    fmt.Println(s)
    c := make([]string, len(s))
    copy(c, s)
    fmt.Println(c)
    fmt.Println(s[2:5])
    fmt.Println(s[:4])
    fmt.Println(s[2:])
    good := []string{"g", "h", "o"}    
    fmt.Println(good)

    六、Map

            和各种语言的Map类似,用于存储键值对。

    mp := make(map[string]int)
    mp["one"] = 1
    mp["two"] = 2
    r, ok := mp["unknow"]
    fmt.Println(r, ok)

    七、range

            Go语言中的range类似于C++的auto,用于快速遍历。

    nums := []int{2, 3, 4}
    sum := 0
    for i, num := range nums {sum += numif num == 2 {fmt.Println("idx:", i, "num:", num)}
    }
    fmt.Println(sum)
    m := map[string]string{"a": "A", "b": "B"}
    for k, v := range m {fmt.Println(k, v)
    }
    for k := range m {fmt.Println(k)
    }

    八、函数

            Go语言的函数,个人认为是Go语言在语法上现代化的标志之一,支持多返回,非常方便。

    func add(a int, b int) (int, string) {return a + b, "ok"
    }

    九、指针

            Go语言的指针类似C的指针,个人非常喜欢指针,一直觉得Java把指针完全去除了也是一个问题。

            在语法上,*作为解引用、&作为引用。

    func add2(a *int) {*a += 2
    }

    十、结构体

            Go语言提供结构体用于类型封装,特殊的是,结构体方法在Go语言中需要写在外面。

    type user struct {name     stringpassword string
    }
    func (this user) checkPassword(password string) bool {return this.password == password
    }

    十一、错误处理

            Go语言为函数提供了一种新奇的try-catch方法。Go语言中,我们在某种方面来讲是在面向异常编程。我们需要通过 error 类型将函数中的错误返回,然后手动处理。

            Go语言提供了一个特殊变量 nil 用于判断是否捕捉到了异常。

    func checkError(password string) (bool, error) {return password == "123", errors.New("not Found")
    }
    v, err := checkError("456")
    if err != nil {fmt.Println(v, err)
    } else {fmt.Print(v)
    }

    十二、特殊函数

    1. json处理

    type userInfo struct {Name stringAge  int `json:"age"`
    }
    func solve14() {a := userInfo{Name: "wang", Age: 18}buf, err := json.Marshal(a)if err != nil {panic(err)}fmt.Println(buf)fmt.Println(string(buf))var b userInfoerr = json.Unmarshal(buf, &b)if err != nil {panic(err)}fmt.Println(b)
    }

    2. 时间处理

    fmt.Println(time.Now())
    fmt.Println(time.Now().Unix())
    fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
    fmt.Println(time.Date(2022, 3, 27, 1, 25, 36, 0, time.UTC))

    3. 字符串转数字

    fmt.Println(strconv.ParseInt("111", 10, 64))
    fmt.Println(strconv.ParseFloat("111.11", 64)
    fmt.Println(strconv.ParseInt("0x1000", 0, 64
    fmt.Println(strconv.Atoi("111"))

    4. 获取线程信息

    fmt.Println(os.Args)
    fmt.Println(os.Getenv("PATH"))

            下篇将对学习的语法结合视频进行综合实践。

    http://www.dtcms.com/wzjs/499468.html

    相关文章:

  1. 字体设计欣赏网站百度平台
  2. 济宁网站建设培训学校seo查询爱站网
  3. 论坛搭建 wordpress青岛seo网站建设公司
  4. 广东网站开发项目互联网推广的好处
  5. 网站建设宽度一般都是多少长沙百度网站推广公司
  6. 小户型室内装修设计公司网站搜索引擎优化课程总结
  7. 个人网站源代码下载seo就业前景
  8. 网站设计标杆企业百度链接提交收录入口
  9. 网站页脚需要放什么站内优化主要从哪些方面进行
  10. 帮企业建设网站保密合同搜索引擎怎么做
  11. 电子商务网站建设 名词解释搭建网站教程
  12. 福州网站制作哪里好互联网营销专家
  13. 做快递单的网站会不会是骗人的怎样做网络推广挣钱
  14. 网站建设需要哪些技术建站系统源码
  15. 招一个程序员可以做网站吗最全磁力搜索引擎
  16. 关于网站建设的专家研讨会杭州网站外包
  17. 抓取网站后台密码百度官网客服
  18. 园区网站建设目的外贸软件排行榜
  19. 怎么快速做网站文章在线葡京在线葡京
  20. 利用博客做网站排名百度一下官方下载安装
  21. 有那些网站做食品供应链的呢自动点击竞价广告软件
  22. 青海建设厅网站尚少岩电脑培训学校网站
  23. 保定网站制作策划百度小说排行榜2020
  24. 行业门户网站设计整站seo免费咨询
  25. 自建团队网站开发要多少钱seo优化步骤
  26. 网站设计怎么做视频深圳市网络seo推广平台
  27. 民宿网站建设河北seo网络优化培训
  28. 网站开发合同答案优化大师是什么软件
  29. 网站做境外第三方支付南京seo网络推广
  30. 网站建设广告宣传素材网站排名优化培训课程