语言特性
石渊友
这个作者很懒,什么都没留下…
展开
-
【golog】我的go学与思12
接口看一个例子package mainimport ( "fmt" "math")type Abser interface { Abs() float64}func main() { var a Abser f := MyFloat(-math.Sqrt2) v := Vertex{3, 4} a = f // a MyFloat 实现了 Abser a =...原创 2020-05-02 16:10:32 · 241 阅读 · 0 评论 -
【golog】我的go学与思11
方法和接口正文go 没有类,但是能定义结构的成员函数:package mainimport ( "fmt" "math")type Vertex struct { X, Y float64}func (v Vertex) Abs() float64 { return math.Sqrt(v.X*v.X + v.Y*v.Y)}func main() { v :=...原创 2020-05-02 16:08:56 · 318 阅读 · 0 评论 -
【golog】我的go学与思10
映射正文对一个结构体进行映射,即结构体是其值,这里定义键的类型为string。package mainimport "fmt"type Vertex struct { Lat, Long float64}var m = map[string]Vertex{ "Bell Labs": Vertex{ 40.68433, -74.39967, }, "Google": ...原创 2020-05-02 16:07:45 · 236 阅读 · 0 评论 -
【golog】我的go学与思9
数组与切片package mainimport "fmt"func main() { var a [2]string a[0] = "Hello" a[1] = "World" fmt.Println(a[0], a[1]) fmt.Println(a) primes := [6]int{2, 3, 5, 7, 11, 13} x := primes[1:4] y :=...原创 2020-05-02 16:06:56 · 199 阅读 · 0 评论 -
【golog】我的go学与思8
结构体package mainimport "fmt"type Vertex struct { X int Y int}func main() { v := Vertex{1, 2} p := &v p.X = 1e9 fmt.Println(v)}//输出{1000000000 2}go语言居然可以直接输出一个结构体,而且结构体指针访问的时候还是用....原创 2020-05-02 16:05:55 · 167 阅读 · 0 评论 -
【golog】我的go学与思7
指针正文package mainimport "fmt"func tmp() *int{ v := 1 return &v}func main() { i, j := 42, 2701 p := &i // point to i fmt.Println(*p) // read i through the pointer *p = 21...原创 2020-05-02 16:05:03 · 146 阅读 · 0 评论 -
【golog】我的go学与思6
其他类型正文类型转化var i int = 42var f float64 = float64(i)var u uint = uint(f)缩写为:i := 42f := float64(i)u := uint(f)反正,go只提供显示类型转化。c++是又隐式类型转化的比如各种类型数字都是往double的方向(不是转化为double)转化的。这样计组的时候我们学过:uint...原创 2020-05-02 16:04:03 · 163 阅读 · 0 评论 -
【golog】我的go学与思1
缘起在写A new way to cpp的时候我想用数据库来引入 I/O模型,并发,数据结构的概念。发现我很尴尬的不知道从何起笔。找遍互联网的资料,知乎大佬上来就是大三作业做过数据库,高屋建瓴的说这说那,太不接地气。恰好此时,我发现了TiDB发起了一个Talent Plan的项目,可以选择学习路线。我就选择了这个项目。然后发现预备知识有go语言。那么这个是我第一次接触的语言我想知道我一宿能走...原创 2020-05-02 15:58:37 · 236 阅读 · 0 评论