Golang非完整教程

前端之家收集整理的这篇文章主要介绍了Golang非完整教程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

第一章 基础语法

第一节、golang程序构成

1. 关于golang

  • 历史请自行查阅相关资料
  • 环境配置请参考其他教程
  • 本教程采用go version 1.7

2. 第一个go程序

package main

func main() {
    println("Hello world!")
}
解读:

a). golang源码都是写在扩展名为.go的文件中的,并且保证文件是utf8编码。
b). 简单运行go单文件程序: go run test.go
c). 对于每份go代码都需要一个名字为main的包和名字为main的函数作为整个程序起点,这在很多编译型语言中是相同的。
d). func表明接下来是个函数,如func main表示函数名为main。
e). 左大括号‘{’必须和func写在同一行。
f). 每条语句后面不写分号‘;’。
g). println是golang内置函数之一,相同的还有print,它们之间的区别只有打印完后有没有自动换行。
h). print和println可打印golang内因类型数据,即对于结构体(struct)是不可打印的,但是结构体指针是可打印的。举例:

package main

type test struct {
    a int
}

func main() {
    print("abc", 123,"def")
    println()
    println("abc","def")
    println(&test{a: 6789})
}

运行结果:

abc123def
abc 123 def
0xc42003bf30

结果0xc42003bf30在每台机器上执行不一定一样。
- 内置函数print的特点:在各个输出中间不自动插入空格;指针直接输出内存地址。
- println的特点: 在各个输出中间插入空格,在最后添加换行

现在,把test前面的&取址符号去掉:

package main

type test struct {
    a int
}

func main() {
    print("abc","def")
    println()
    println(test{a: 6789})
}

运行报错:

# command-line-arguments
./test.go:10: illegal types for operand: print
    test

3. 建议:

  • 每次写完代码后,运行go fmt test.go格式化代码一下,让代码整洁,格式化最好从一开始养成。Golang提供了标准格式,用命令go fmt可以自动格式化文件

4. 题外话

  • 由于golang不允许导入未引用的包(后面讲到),所以可以用内置函数来调试程序。
原文链接:https://www.f2er.com/go/189315.html

猜你在找的Go相关文章