java调用go接口_go语言调用API实线分词
1、確保已經安裝go語言
2、代碼實現
B.代碼:
package?pullword
import?(
"bufio"
"fmt"
"net"
"strings"
)
type?request?struct?{
source?string
param1?float32
param2?uint
}
func?NewRequest(source?string,?threshold?float32,?debug?bool)?request?{
var?param2?uint
if?debug?{
param2?=?1
}?else?{
param2?=?0
}
return?request{
source:?source,
param1:?threshold,
param2:?param2,
}
}
func?(req?request)?Do()?([]string,?error)?{
conn,?err?:=?net.Dial("tcp",?"api.pullword.com:2015")
if?err?!=?nil?{
return?nil,?err
}
writer?:=?bufio.NewWriter(conn)
_,?err?=?writer.WriteString(fmt.Sprintf("%s\t%1.2f\t%d]\r\n",?req.source,?req.param1,?req.param2))
if?err?!=?nil?{
return?nil,?err
}
writer.Flush()
if?err?!=?nil?{
return?nil,?err
}
scanner?:=?bufio.NewScanner(conn)
list?:=?make([]string,?0)
for?scanner.Scan()?{
if?scanner.Text()?!=?"\r\n"?&&?scanner.Text()?!=?""?{
list?=?append(list,?strings.Trim(scanner.Text(),?"\r\n"))
}
}
if?err?:=?scanner.Err();?err?!=?nil?{
return?nil,?err
}
return?list,?nil
}
package?main
import?(
"fmt"
"os"
"pullword"
"io/ioutil"
)
func?main()?{
result_str?:=?""
result_str?=?readFile("/home/tian/Desktop/test.txt")
req?:=?pullword.NewRequest(result_str,?1,?true)
result,?err?:=?req.Do()
if?err?!=?nil?{
panic(err)
}
fmt.Printf("%q",?result)
}
func?readFile(path?string)?string?{
fi,err?:=?os.Open(path)
if?err?!=?nil{panic(err)}
defer?fi.Close()
fd,err?:=?ioutil.ReadAll(fi)
return?string(fd)
}
test.txt
你的姿勢水平還遠遠不夠
C.運行結果:
["姿勢:1"?"水平:1"?"遠遠:1"?"不夠:1"]
總結
以上是生活随笔為你收集整理的java调用go接口_go语言调用API实线分词的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kruskal算法java_克鲁斯卡尔算
- 下一篇: java中不用impore导入的_jav