编程语言
文章平均质量分 76
盘胧er
世界充满黑暗
我们却渴望光明的未来
我们为了赢得光明的未来
用尽了黑暗的手段
展开
-
golang-程序实体
golang的程序实体可能要了解下go编程的一些语言特性和一些编程方法和思想Go 语言中的程序实体包括变量、常量、函数、结构体和接口Go 语言是静态类型的编程语言,所以我们在声明变量或常量的时候,都需要指定它们的类型,或者给予足够的信息,这样才可以让 Go 语言能够推导出它们的类型。在 Go 语言中,变量的类型可以是其预定义的那些类型,也可以是程序自定义的函数、结构体或接口。常量的合法类型不多,只能是那些 Go 语言预定义的基本类型。它的声明方式也更简单一些。声明变量声明一个namev原创 2021-08-16 20:38:57 · 365 阅读 · 0 评论 -
golang-库源码文件
库源码文件库源码文件是不能被直接运行的源码文件,它仅用于存放程序实体,这些程序实体可以被其他代码使用(只要遵从 Go 语言规范的话)。其他代码:可以与被使用的程序实体在同一个源码文件内,也可以在其他源码文件,甚至其他代码包中那么什么是程序实体?在 Go 语言中,程序实体是变量、常量、函数、结构体和接口的统称。我们总是会先声明(或者说定义)程序实体,然后再去使用。我们先定义了变量name,然后在main函数中调用fmt.Printf函数的时候用到了它。再多说一点,程序实体的名字被统称为标识符。原创 2021-08-12 20:05:08 · 349 阅读 · 0 评论 -
golang-命令源码文件
命令源码文件命令源码文件的用途是什么,怎样编写它?命令源码文件是程序的运行入口,是每个可独立运行的程序必须拥有的。我们可以通过构建或安装,生成与其对应的可执行文件,后者一般会与该命令源码文件的直接父目录同名如果一个源码文件声明属于main包,并且包含一个无参数声明且无结果声明的main函数,那么它就是命令源码文件。package mainimport "fmt"func main() { fmt.Println("Hello, world!")}如果你把这段代码存成 demo1.原创 2021-08-12 13:44:53 · 274 阅读 · 0 评论 -
golang-构建可复用的模块
package基本复用模块单元以首字母大写来表明可以被包外代码访问代码的package可以和所在的目录不一致同一目录里的Go代码的package要保持一致init在main执行之前,所有依赖的package的init方法都会被执行不同的包的init按照包倒入的依赖关系决定执行顺序每个包可以有多个init函数包的源文件也可以有多个init函数 – 特殊使用三方远程的package命令:// -u 使用最新版go get -u https://xxxxxxx/xxx.原创 2021-08-10 22:15:25 · 162 阅读 · 0 评论 -
golang错误处理与恢复
go的错误机制golang没有异常机制error类型实现了异常接口type error interface { Error() string}可以通过errors.New快速创建错误实例errors.New("n must be ddxfsefsdf")废话不多说, 来了解下go兼并python的优雅import ( "errors" "testing")func GetFebnacci(n int) ([]int, error) { if n < 2 ||原创 2021-08-09 23:18:12 · 465 阅读 · 0 评论 -
golang-不一样的接口,一样的多态
golang的interface我们都知道,接口是:用来定义对象之间交互的协议的所以我们写接口:实际上就是在“定义交互协议”接口与依赖如果两个类都对某个接口有依赖,那么依赖应该被抽象出来,特别的当这两个类还相互依赖,抽象出来接口,可以避免循环依赖~go 的接口 duck type定义并且实现接口// 定义type Programmer interface { writeHelloWorld() Code}// 实现一个实例type GoProgrammer struct {//原创 2021-08-09 19:23:03 · 274 阅读 · 0 评论 -
typescript-函数/类/接口
接口类型对象类型接口假设我要从后端获取一组数据,渲染到页面之中,我们可以这样定义:interface List { id:number; name:string;}interface Result { data:List[]}function render (result:Result) { result.data.forEach((value) => { console.log(value.id,value.name) })}let resu原创 2021-08-06 13:14:41 · 249 阅读 · 0 评论 -
go函数:一等公民
go函数:一等公民与其他语言的主要差异可以有多个返回值所有参数都是值传递:slice,map,channel会有传引用的错觉函数可以作为变量的值——体现一等公民函数可以作为参数和返回值——体现一等公民func returnMultiValues ()(int, int) { return rand.Intn(10), rand.Intn(20)}func TestFn(t *testing.T) (){ a,b:=returnMultiValues() t.Log(a,b原创 2021-08-04 14:00:49 · 211 阅读 · 0 评论 -
golang数据结构:map/set/string
map数据类型类比字典声明/初始化m:=map[string]int{ "one":1, "two":2, "three":3}m1:=map[string]int{}m1["one"]=1m2:=make(map[string]int, 10) // 这里的10 是 capacitylen(m2) // 0 为什么map初始化没有len ?length:一般初始化都会为‘零值’, 但是map是没有 ‘零值’, 字典/map的零值:就是:{}不支持cap函数的原创 2021-08-03 23:29:36 · 433 阅读 · 0 评论 -
golang基础数据结构
golang基础数据结构hello world// hello_world.gopackage mainimport "fmt"func main (){ fmt.Println('hello world')}运行cmdgo run hello_world.go编译cmdgo build hello_world.go会生成二进制文件,极其方便的进行系统环境迁移golang 说明程序入口main必须是package main 和 func main文件原创 2021-08-02 22:51:32 · 185 阅读 · 0 评论