zoukankan      html  css  js  c++  java
  • GO学习Day1

    golang语言特性

    1. 垃圾回收

      a. 内存自动回收,再也不需要开发人员管理内存

      b. 开发人员专注业务实现,降低了心智负担

      c. 只需要new分配内存,不需要释放

    2. 天然并发

      a . 从语言层面支持并发,非常简单

      b. goroute,轻量级线程,创建成千上万个goroute成为可能

      c. 基于CSP(Communicating Sequential Process)模型实现

      

    func main() {
        go fmt.Println(“hello")
    }
    

    3. channel 

      a . 管道,类似unix/linux中的pipe

      b. 多个goroute之间通过channel进行通信

      c. 支持任何类型

    func main() {
      pipe := make(chan int,3)
    pipe <- 1
    pipe <- 2
    }
    

    4. 多返回值 

      a. 一个函数返回多个值

    func calc(a int, b int)(int,int) {
        sum := a + b
        avg := (a+b)/2
        return sum, avg
    }
    

      第一个golang程序

    1. hello world,在目录下新建hello.go 

      

    package main
    
    import(
        “fmt”
    )
    
    func main() {
        fmt.Println(“hello world”)
    }
    

      

    包的概念

    1. 和python一样,把相同功能的代码放到一个目录,称之为包

    2. 包可以被其他包引用

    3. main包是用来生成可执行文件,每个程序只有一个main包

    4. 包的主要用途是提高代码的可复用性

    包的实战:

      1. calc目录

      2. 在calc目录下新建calc.go

    package calc
    
    func Add(a int, b int) int {
        return a + b
    }
    

      3.  修改hello.go代码,如下

    package main
    
    import(
        “fmt”
        “calc”
    )
    
    func main() {
        sum := calc.Add(3,5)
        fmt.Println(“hello world,%d”,sum)
    }
    

      

  • 相关阅读:
    C语言实现用户输入
    QQ头像一键添加校徽
    csu oj Infected Computer 1427
    质数个数
    stl实现结构体排序关键语法要点(sort)
    理解 PHP 中的 Streams
    几款主流PHP框架的优缺点评比
    8个开发必备的PHP功能
    5个开发人员不应该错过的最好跨平台PHP编辑器
    推荐五款优秀的PHP代码重构工具
  • 原文地址:https://www.cnblogs.com/csp813/p/12890371.html
Copyright © 2011-2022 走看看