• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Go语言入门系列2 基本语法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
get download and install packages and dependencies
install = compile and install packages and dependencies
run compile and run Go program
build compile packages and dependencies


不用加分号

if 语句没有圆括号

switch语句没有break
Go语言中没有while
有指针
反过来声明变量类型和函数返回值


Hello World

文件名 hello.go
1
2
3
4
5
6
7
package main //声明本文件的package名
 
import"fmt"
 
func main() {
    fmt.Println("hello world")
}

运行

你可以有两种运行方式,

解释执行(实际是编译成a.out再执行)
1
2
$go run hello.go
hello world
编译执行
1
2
3
4
5
6
7
$go build hello.go
 
$ls
hello hello.go
 
$./hello
hello world

自己的package

你可以使用GOPATH环境变量,或是使用相对路径来import你自己的package。

Go的规约是这样的:

1)在import中,你可以使用相对路径,如 ./或 ../ 来引用你的package

2)如果没有使用相对路径,那么,go会去找$GOPATH/src/目录。

使用相对路径
1
import"./haoel"  //import当前目录里haoel子目录里的所有的go文件
使用GOPATH路径
1
import"haoel"  //import 环境变量 $GOPATH/src/haoel子目录里的所有的go文件

fmt输出格式


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package main
 
import "fmt"
import "math"
 
func main() {
    fmt.Println("hello world")
 
    fmt.Printf("%t\n"1==2)
    fmt.Printf("二进制:%b\n"255)
    fmt.Printf("八进制:%o\n"255)
    fmt.Printf("十六进制:%X\n"255)
    fmt.Printf("十进制:%d\n"255)
    fmt.Printf("浮点数:%f\n", math.Pi)
    fmt.Printf("字符串:%s\n""hello world")
}

也可以使用如\n\t\r这样的和C语言一样的控制字符

变量和常量

变量的声明很像 javascript,使用 var关键字。注意:go是静态类型的语言,下面是代码:

1
2
3
4
5
6
7
8
//声明初始化一个变量
var  x int = 100
var str string = "hello world"
//声明初始化多个变量
var  i, j, k int = 1, 2, 3
 
//不用指明类型,通过初始化值来推导
varb = true//bool型

还有一种定义变量的方式(这让我想到了Pascal语言,但完全不一样)

1
x := 100//等价于 var x int = 100;

常量很简单,使用const关键字:

1
2
consts string = "hello world"
constpi float32 = 3.1415926

数组

直接看代码(注意其中的for语句,和C很相似吧,就是没有括号了)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
func main() {
    var a [5]int   注意这个int紧挨着,没有空格
    fmt.Println("array a:", a)
 
    a[1] = 10
    a[3] = 30
    fmt.Println("assign:", a)
 
    fmt.Println("len:", len(a))
 
    b := [5]int{123
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go网络库cellent实现socket聊天功能发布时间:2022-07-10
下一篇:
gomodmoduledeclaresitspathasbutwasrequiredas发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap