热门编程语言之GO

WillliuMunch · · 664 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Go语言入门实战

基础语法入门

概述

理念:Go是google在2009年发布的第二款开源语言,Go专门针对多处理器系统应用程序进行优化,开发者期待它的开发效率和脚本语言一样快,期待它的运行速度可以媲美c或c++
  • Go语言优势

    • 简洁、快速、安全

    • 并行、有趣、开源

    • 内存管理,数组安全,编译迅速

  • Go语言劣势

    • 缺少框架

    • 错误处理

    • 软件包管理

  • Go目前的应用

    • Docker

    • Codis

    • Glow类似于Hadoop

    • Cockroach

Go语言Hello word

  • 在官网下载Go安装包,安装配置环境,下载LiteIde

  • Go语言的入口在main包下的main函数

    //这里不能使用单引号表示字符串,main包main方法是go语言入口
    package main
    
    import "fmt"
    
    func main() {
    
        fmt.Print("hello word")
    
    }
    
    
  • Go语言要安装别人的包需要先配置Gopath包含( src、pkg、bin)目录

    • window下:set GOPATH=d:/go_libsou

    • go get github.com/astaxie/beego//获取beego框架存储在gopath

    • 自己写的类和工具也可以放在gopath下引用

GO语法与函数

  • Go语言常用关键字

    • 5c88c2b56d644
      编程
  • 变量定义

    • var x int //定义变量时用var关键字变量类型在后边

      package main
      
      import "fmt"
      
      func main() {
      
          var x int //定义变量格式
      
          x = 1
          //简短申明定义多个变量    ,简短申明没法在函数体外部使用
      
          y, z, l := 2, "golang", 3
      
          fmt.Printf("%d %d %s %d", x, y, z, l)
      
      }
      
  • 数据类型

    • bool

    • rune

    • int8|int16|int32|int64

    • byte

    • uint8|uint16|uint32|uint64

    • float32|float64

    • complex64|complex128

      • var a complex64 = 6 + 2i
        
        fmt.Println(a * a)
        
    • string

    • array|slice

      • //array
        var x [10]int
        x[0]=1
        fmt.Printf("%v",x)
        y:=[10]int{1,2,4,6,7}
        fmt.Println("v%", len(t))
        
      • //slice 动态数组
        var fslice []int
        //make用于内建类型的内存分配
        func foo(n int) []byte {
         bar := make([]byte, n)
        }
        o := make([]int, 3, 5)//3代表长度,5代表容量
        o=append(o,5,6,7,6,7,9,0,1)//动态分配容量可扩增
        k:=x[1:3]
        
    • map

      •     var student map[string]float32
        
            student = make(map[string]float32)//map必须make分配容量
        
            student["zhangsan"] = 18.2
        
            fmt.Printf("%v", student)
            student :=make(map[string]float32)//简短申明
        
  • 流程控制

    • for循环

          var q int
      
          sum := 0
      
          for q = 1; q <= 100; q++ {
      
              sum += q
      
          }
      
          fmt.Println(sum)
          //简短申明循环
          for x<100{
              sum+=x
              x++
          }
          for{}//代替while循环
      
    • switch

      x:=1
      switch x{
          case 1:
          //break //默认添加break
          fallthrough //继续往下
      }
      
    • range关键字循环遍历

      t := [10]int8{1, 2, 4, 6, 7}
      for i, v := range t {
      
          fmt.Println(i, v)
      
      }
      u :=make(map[string]int)
      u["zhangsan"]=78
      u["wangwu"]=76
      for i,v:=range u{
          fmt.Println(i,v)
      }
      //可以遍历字符串
      
  • 函数

      func swap(a int, b int) (m int, n int) {
    
        return b, a
    
    }
    
    func add(a *int) *int {
    
        *a = *a + 1
    
        return a
    
    }
    func main() {
    
        a := 3
    
        // b := 2
    
        // a, b = swap(a, b)
    
        // fmt.Printf("%d %d", a, b)
    
        add(&a)
    
        fmt.Printf("%d", a)
    
    }
    

实践


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:WillliuMunch

查看原文:热门编程语言之GO

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

664 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传