Golang基础<1>

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

先从golang的Helloworld程序说起。

文件:helloworld.go

package main

import "fmt"

func main() {
    fmt.Println("Hello World")
}

执行命令:go run helloworld.go,程序就会执行,输出:Hello World。

1、Go代码是用包(package)来组织代码的,包类似其他语言中的库或者模块,与java中的包概念很像,一个包下面有一个或者多个.go的源文件组成,一个包就是一个文件夹,文件夹的名字描述了该包的作用。

2、上面是一个简单的go程序,下面用一个稍微复杂的结构来说明go程序的主要构成

package main

import (
    "fmt"
    "math"
    "strconv"
    "time"
)

type User struct {
    userName string
    age      int
    borth    time.Time
}

const (
    HEIGHT int     = 1
    SIZE   int     = 10
    PI     float64 = math.Pi
)

var City string
var country string

func main() {
    user := &User{userName: "xiaoming", age: 22, borth: time.Now()}
    fmt.Println(showName(user))
    fmt.Println("Hello World")
    fmt.Println(PI)
}

func showName(user *User) string {
    if user == nil {
        return "Null"
    }

    return user.userName + "_" +
        strconv.FormatInt(int64(user.age), 10) + "_" +
        user.borth.Format("2006-01-02 15:04:05")
}

(1)package就用来声明该源码所属的包

(2)import语句必须紧跟package语句之后,用来导入源码里面需要引用的其他包名,导入的包必须要被用到,否则编译会报错

(3)紧接着的是组成程序的类型(type)、变量(var)、常量(const)以及函数(func),大部分的情况下,声明的顺序没有要求

3、关于函数

函数是用func关键字、函数名、参数列表、返回值列表以及放在大括号内的函数体组成。

参数列表、返回值列表均可以为空

go支持多值返回,如:

func sumAndCount(age []int) (sum int64, count int) {
    return 100, 1
}

注意:在golang中‘{'左括号不能另起一行。

4、关于main包和main函数

main包比较特殊,它用来定义一个独立的可执行程序,而不是库,在main包中,main函数也是特殊的,它是程序执行开始的地方。


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

本文来自:博客园

感谢作者:cw2030

查看原文:Golang基础<1>

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

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