hello,world
因为之前有了解过别的编程语言,所以文章的内容适合已经学过类似c或python的人来看。
学习任何编程语言都要写一行hello,world,那就从它来了解一下GO语言
package main/*定义一个包名,所有的go都有*/
import "fmt"/*类似于python中的库*/
func main() {
fmt.Println("Hello, World!")/*可以将字符串输出到控制台,并在最后自动增加换行字符 \n,相当于 fmt.Print("hello, world\n")*/
}
这就是我们的第一个hello,world程序,其中有几个注意的点:
1.开始的包名不能丢,每个go语言程序都需要用到它。
2.func main()后面的{}不能单独的写在一行,比如
func main()
{
.......
}
就是错误写法。
当我们写好.go文件之后,还有其它方式可以运行
首先可以在cmd里,输入
go run 文件名.go
即可运行这个文件,但是记得运行时一定要在其目录文件夹下,不然会显示找不到文件。
其次我们可以使用go build创建一个二进制文件,输入
go build as.go
as.exe
也可以运行hello world程序。
基础语法
它的基础语法和c非常相似:
1.注释
单行注释//,多行注释/* */
2.标识符
标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(A~Z和a~z)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。
例如:mahesh _hash 反例:2ks case(关键字) a+b
3.字符串连接
“dog”+"cat"
4.关键字
break | default | func | interface | select |
case | defer | go | map | struct |
chan | else | goto | package | switch |
const | fallthrough | if | range | type |
continue | for | import | return | var |
5.格式化字符串
package main
import (
"fmt"
)
func main() {
var stockcode=123
var enddate="2020-12-31"
var url="Code=%d&endDate=%s"
var target_url=fmt.Sprintf(url,stockcode,enddate)
fmt.Println(target_url)
}
#Code=123&endDate=2020-12-31
记得运行程序的时候,不要一个文件夹下放入两个go的源文件,否则会运行报错。
数据类型
1.布尔型
2.字符串型
3.派生型
包括:
- (a) 指针类型(Pointer)
- (b) 数组类型
- (c) 结构化类型(struct)
- (d) Channel 类型
- (e) 函数类型
- (f) 切片类型
- (g) 接口类型(interface)
- (h) Map 类型
4.整型
1 | uint8 无符号 8 位整型 (0 到 255) |
2 | uint16 无符号 16 位整型 (0 到 65535) |
3 | uint32 无符号 32 位整型 (0 到 4294967295) |
4 | uint64 无符号 64 位整型 (0 到 18446744073709551615) |
5 | int8 有符号 8 位整型 (-128 到 127) |
6 | int16 有符号 16 位整型 (-32768 到 32767) |
7 | int32 有符号 32 位整型 (-2147483648 到 2147483647) |
8 | int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807) |
5.浮点型
1 | float32 IEEE-754 32位浮点型数 |
2 | float64 IEEE-754 64位浮点型数 |
3 | complex64 32 位实数和虚数 |
4 | complex128 64 位实数和虚数 |
6.其它数字类型
1 | byte 类似 uint8 |
2 | rune 类似 int32 |
3 | uint 32 或 64 位 |
4 | int 与 uint 一样大小 |
5 | uintptr 无符号整型,用于存放一个指针 |