美文网首页
Go语言编程(一)介绍

Go语言编程(一)介绍

作者: jeepshen | 来源:发表于2017-01-06 21:21 被阅读0次

语言特性

Go语言作为一门静态类型语言,有很多新的特性
1. 自动垃圾回收
2. 更丰富的内置类型,增加了字典map ,数组切片slice
3. 函数多返回值
4. 错误处理: defer panic recover
5. 匿名函数和闭包
6. 并发编程
7. 反射
8. 语言交互性

虽然不太了解这些特性,但是之后应该会逐步深入,此处先记下。

第一个程序

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

环境:debian 8.6 + vscode,安装golang apt isntall golang

程序注意的地方:
- package 声明: 表示该代码所属的包,go 语言中最基本的分发单位
- import 导入改程序所依赖的所有包
- main : 主函数既不能有参数,也不能有返回值

编译环境

`go version`

`go version go1.3.3 linux/amd64`

`go build hello.go`

`go run hello.go`

工程管理

开发一个计算器的工程项目:


- src: 源码文件夹
- pkg: 包被安装到这里
- bin: 生成的二进制文件

源码

1. calc.go
//Package main
package main

import "os"
import "fmt"

import "./simplemath"
import "strconv"

//Usage 匿名函数?
var Usage = func() {
    fmt.Println("USAGE: calc command [arguments] ...")
    fmt.Println("\nThe command are:\n\tadd\tAddition of two values.\n\tsqrt\tSquare")
}

func main() {
    args := os.Args
    if args == nil || len(args) < 2 {
        Usage()
        return
    }

    switch args[1] {
    case "add":
        if len(args) != 4 {
            fmt.Println("Usage: calc add <integer1> <integer2>")
            return
        }
        v1, err1 := strconv.Atoi(args[2])
        v2, err2 := strconv.Atoi(args[3])
        if err1 != nil || err2 != nil {
            fmt.Println("Usage: calc add <integer1> <integer2>")
            return
        }
        ret := simplemath.Add(v1, v2)
        fmt.Println("Result: ", ret)
    default:
        //Usage()
    }
}

2. /simplemath/add.go
//Package simplemath...

package simplemath

// Add a and b
func Add(a int, b int) int {
    return a + b
}

3. /simplemath/add_test.go
//Package simplemath
package simplemath

import "testing"

func TestAdd(t *testing.T) {
    r := Add(1, 2)
    if r != 3 {
        t.Errorf("Add(1,2) failed. Got %d, expecrted 3.\r", r)
    }
}
4. 生成,运行。注:生成的二进制文件,不依赖开发环境,一次编译到处运行?

问题追踪和调试

go使用尽量简单的语法,和尽量完善的库。如果出现了问题,需要调试,主要两种跟踪方法:打印日志和GDB逐步调试。
  1. 打印日志
    fmt.Printf 和 fmt.Println
  2. GDB 调试

相关文章

  • GO语言——入门(1)

    一、初识GO语言 1.GO语言介绍 1.1 GO语言是什么 2009年11月10日,GO语言正式成为开源编程语言家...

  • go语言20小时从入门到精通(一、初识Go语言)

    1.1 Go语言介绍 1.1.1 Go语言是什么 2009年11月10日,Go语言正式成为开源编程语言家庭的一员。...

  • Go语言编程(一)介绍

    语言特性 虽然不太了解这些特性,但是之后应该会逐步深入,此处先记下。 第一个程序 环境:debian 8.6 + ...

  • Go Web编程.epub

    【下载地址】 《Go Web编程》介绍如何用Go语言进行Web应用的开发,将Go语言的特性与Web开发实战组合到一...

  • 【Go 语言教程】Go 语言简介

    1 Go 语言介绍 Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。 Go是静...

  • Go语言的优缺点及其扫盲

    1. go语言介绍 1.1.语言为并发而生 go语言(或 Golang)是Google开发的开源编程语言,诞生于2...

  • 01-初识golang语言

    1、go语言介绍 Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。go是静态强...

  • go环境以及kubernetes的go-client介绍

    1、go语言介绍: (1)Go语言是谷歌2009发布的第二款开源编程语言。 (2)Go语言专门针对多处理器系统应用...

  • Go语言入门自学(一)

    首先介绍下GO语言的起源 Go语言是一个开源的编程语言,它能让构造简单,可靠且高效的软件变得容易。GO是从2007...

  • Go语言学习资料汇总

    From - 自由编程 入门 首先介绍一本Go语言经典入门书籍Go语言圣经对于入门学习,首先推荐以读书为主,可以辅...

网友评论

      本文标题:Go语言编程(一)介绍

      本文链接:https://www.haomeiwen.com/subject/vyuxbttx.html