golang学习笔记

目录

  • golang学习笔记
  • golang知识点
    • go打开本地文档方法:
      • fmt 打印占位符特殊作用
      • slice本质
      • strings包
      • Stringer Interface

golang学习笔记

go官方学习内容是最好最权威的入门go语言的资料,为学习go语言指明一个正确的方向。

  • 学习路径1: A Tour of go

golang知识点

下面内容部分引用 A Tour of go 官方介绍文档

go打开本地文档方法:

本地文档浏览 web 服务器。在命令行输入 godoc -http=:6060,然后使用浏览器打开 http://localhost:6060 后,你就可以看到本地文档浏览服务器提供的页面。

fmt 打印占位符特殊作用

%q 带着双引号打印字符串

	var s string = "aaa"
	fmt.Printf("%q\n", s)    // "aaa"
	fmt.Printf("%s\n", s)    // aaa

%T 打印变量类型,不能用 %t

	v := 42
	fmt.Printf("v is of type %T\n", v)	// v is of type int

slice本质

切片就像数组的引用
切片并不存储任何数据,它只是描述了底层数组中的一段。
更改切片的元素会修改其底层数组中对应的元素。
与它共享底层数组的切片都会观测到这些修改。

strings包

strings.Join(s1 []string, sep string):用sep把s1中的所有元素链接起来

	ss := []string{"a", "b", "c"}
	fmt.Printf("%s\n", strings.Join(ss, "_")) 	// a_b_c

Stringer Interface

Stringer
fmt 包中定义的 Stringer 是最普遍的接口之一。

type Stringer interface {
    String() string
}

Stringer 是一个可以用字符串描述自己的类型。fmt 包(还有很多包)都通过此接口来打印值。

type Person struct {
	Name string
	Age  int
}
// 转换成string,用于描述Person结构体
func (p Person) String() string {
	return fmt.Sprintf("%v (%v years)", p.Name, p.Age)
}

func main() {
	a := Person{"Arthur Dent", 42}
	z := Person{"Zaphod Beeblebrox", 9001}
	fmt.Println(a, z)
}

你可能感兴趣的:(golang,golang)