package main
import (
"encoding/json"
"fmt"
)
// 结构体成员首字母大写才能被序列化,`json:字段` 表示在json中显示的字段
type person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
p1 := person{
Name: "John",
Ag...
分类目录归档:Golang
1076 views
Go语言基础案例(一)
992 views
简单学生管理
package main
import "fmt"
var (
allStudent map[int64]*student
)
type student struct {
id int64
name string
}
func newStudent(id int64, name string) *student {
return &student{
id: id,
name: name,
}
}
func showAllStudent() {
for...
Go语言之Map映射
1088 views
Map映射
package main
import "fmt"
func main() {
// 声明Map
var m1 map[int]string
// 初始化空间
m1 = make(map[int]string, 3)
m1[1] = "one"
m1[2] = "two"
m1[3] = "three"
fmt.Println(m1)
fmt.Println(m1[1])
}
package main
import...
Go语言基础之数组与切片
1171 views
Array数组
数组定义与初始化
数组定长的有序序列,元素类型相同,值类型的数据对象
package main
import "fmt"
func main() {
// 定义数组
var arr1 [3]int
// 初始化数组
arr1 = [3]int{0,0,0}
// 定义时初始化
arr2 := [3]int{1, 2, 3}
fmt.Println(arr1)
fmt.Println(arr2)
fmt.Printf("%T,%T&q...
GO指针
1071 views
指针
指针概念在Go语言中被拆分为两个核心概念:
- 类型指针,允许对这个指针类型的数据进行修改。传递数据使用指针,而无须拷贝数据。类型指针不能进行偏移和运算。
- 切片,由指向起始元素的原始指针、元素数量和容量组成。
认识指针地址和指针类型
每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置。Go语言中使用“&”操作符放在变量前面对变量进行“取地址”操作。
ptr := &v // v的类型为T
其中v代表被取地址的变量,被取地址的v使用ptr变量进行接收,ptr的类型就为“*T”,称做T的指针类型。*
代表指针。
- 创建D:\go\src\指针\main....
Go基础语法
1090 views
Go基础知识(一)
Go命令行和项目结构
Go的工作区目录结构有bin、pkg、src三个(在GOPATH目录下):
-
bin:编译后的可执行程序的存储目录。
-
pkg:编译时生成的对象文件。
-
src:库文件。
这些都是Go设计者的约定,只需按照这样的方式组织目录结构即可。
GOPATH环境变量生效时个人项目可以在src目录下创建新目录,第三方库存放在src的github.com目录下。
Go版本1.11以上支持设置GOROOT环境变量,在任意目录下创建项目程序即可。安装Go语言开发系统后,内置的命令行工具常用的命令如下:
go build:将程序编译成可执行文件。
go r...
Go语言简介
1094 views
Go语言简介
Go语言比较“年轻”,是Google的罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)开发的,它是一种静态强类型、编译型、并发型的编程语言,并具有垃圾回收功能。由于Go语言拥有丰富的生态系统,且其开发团队阵容强大,因此一经问世就得到众多用户的青睐。
Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。
Go语言的特性
1.语...