golang使用reflects调用方法时,方法名需要首字母大写

golang在服务端处理api请求,因为在其他语言中定义方法一般使用小写开头,

给服务端传递ApiName时一般使用的是小写首字母的方法名。

如果直接使用小写方法名定义方法,将无法通过golang的reflect反射获取和调用。

建议在增加前缀“API_”    如 API_login来定义Api结构的方法

type Api struct{

}
func(this *Api)API_login(){
}
requestStr := "usr/login/HYUKGDHJHDYTUUINCCMNKOS"params := strings.split(requestStr,"/")apiName := params[1]//从前端传递过来的apiName
reflect.ValueOf(&Api{}).MethodByName("API_"+apiName).Call([]reflect.Value{})
时间: 2024-08-02 15:14:50

golang使用reflects调用方法时,方法名需要首字母大写的相关文章

WPS去掉键入时自动进行句首字母大写更正

1.单击左上角的菜单选项 2.选择上图中的“选项”按钮

JS replace()方法-字符串首字母大写

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. replace()方法有两个参数,第一个参数是正则表达式,正则表达式如果带全局标志/g,则是代表替换所有匹配的字符串,否则是只替换第一个匹配串.第二个参数可以是字符串,也可以是函数.$1.$2...表示与正则表达式匹配的文本. There are many ways we can make a difference. Global change starts with you. Sign up f

一起写框架-Ioc内核容器的实现-基础功能-容器对象名默认首字母小写(八)

实现功能 --前面实现的代码-- 默认的对象名就类名.不符合Java的命名规范.我们希望默认的对象名首字母小写. 实现思路 创建一个命名规则的帮助类.实现将对大写开头的对象名修改为小写开头. 实现步骤 1.创建一个命名规则帮助类 1 package ioc.core.utils; 2 3 /** 4 * 创建命名规则帮助类 5 * 6 * @author ranger 7 * 8 */ 9 public class NamingUtils { 10 /** 11 * 将类名修改为对象名,首字母小

查询表数据的时让表内数据全大写、小写、首字母大写、前几位字母大写

select                       Upper(Substring(列名, 1, 1)) + Lower(Substring(列名, 2,LEN(列名))) AS 想显示的列名,        UPPER(列名) AS 想显示的列名,                   Upper(Substring(列名, 1, 6)) + Substring(列名, 7,LEN(列名)) AS 想显示的列名,       LOWER(列名)AS 想显示的列名,             

Golang通过syscall调用windows dll方法

本用例在GO 1.4.2 上编译执行通过,直接上CODE: package main import (     "fmt"     "syscall"     "time"     "unsafe" ) const (     MB_OK                = 0x00000000     MB_OKCANCEL          = 0x00000001     MB_ABORTRETRYIGNORE  = 0x

JAVA将单词首字母大写方法

public class FirstLetterUppercase { public static void main(String[] args){ System.out.println(new FirstLetterUppercase().upperFirstLatter("letter")); System.out.println(new FirstLetterUppercase().upperFirstLatter2("letter"));. } /** *

Structs 在Struts.xml中配置action时,action的name属性最好首字母大写

<action name="Login" class="com.struts_learn.action.LoginAction"><result name="input">/login.jsp</result><result name="error">/error.jsp</result><result name="success">/

python3的getter方法setter方法以及property修饰

class Dog: def __init__(self,name,age): self.__name = name self.__age = age @property def age(self): return self.__age @age.setter def age(self,age): self.__age = age @property def name(self): return self.__name @name.setter def name(self,name): self

dedecms织梦获得首字母或拼音的方法,并实现文章列表按首字母归类

方法一,织梦默认有这个函数,在include/inc/inc_fun_funAdmin.php中.即SpGetPinyin() 但他只能得到全拼,没法得到首字母,应该是bug吧.如果想全站都调用这个函数,建议把本函数复制到include/extend.func.php 这个文件中,即可在全站调用 用法举例 $pingyin=SpGetPinyin($row['title'],0,1); $a=substr(SpGetPinyin($row['title']),0,1);//得到拼音首字母 方法二